Use Dired + . Use C-M-R para ativar ou não a reutilização de buffers Dired. Coloque isso no seu arquivo init se você quiser reutilizar por padrão:
(diredp-make-find-file-keys-reuse-dirs)
Isso também cuida de ^ . Em suma, não há necessidade de codificar nada - basta carregar Dired + .