Estou seguindo esta sugestão da wiki para configurar o Emacs para que eu possa avançar e retroceder no modo direcionado sem criar novos buffers.
Usar a a
tecla junto com a (put 'dired-find-alternate-file 'disabled nil)
configuração permite que eu mude para diretórios sem novos buffers.
Mas o gancho para a ^
chave mencionada no wiki não está funcionando para mim. Ir para o diretório anterior com ^
ainda abre novos buffers.
Aqui estão as configurações que estou usando no meu .emacs.d/init.el
; dired settings
(require 'dired-x)
(setq dired-omit-files "^\\.?#\\|^\\.$\\|^\\.\\.$\\|^\\.")
(add-hook 'dired-mode-hook (lambda ()
(dired-omit-mode 1)))
(setq dired-listing-switches "-aBhl --group-directories-first")
(put 'dired-find-alternate-file 'disabled nil)
(add-hook 'dired-mode-hook
(lambda ()
(define-key dired-mode-map (kbd "^")
(lambda () (interactive) (find-alternate-file "..")))))
C-h k ^
isso, provavelmente verá que a função padrãodired-up-directory
ainda está sendo chamada. Há alguma mensagem de erro? Eu recebo erros ao tentar carregardired-x
-Key sequence * O starts with non-prefix key *
define-key
atalho de teclado não está sendo reconhecido por algum motivo. Se eu digitarM-x find-alternate-file
e..
voltará sem criar um novo buffer. TambémC-h k ^
mostra que^
está vinculado adired-up-directory
. Eu não recebo nenhum erro embora.Respostas:
Basta usar Dired + . Use
C-M-R
para alternar entre reutilizar buffers Dired. Coloque isso no seu arquivo init se desejar reutilizar por padrão:Isso também cuida
^
. Em resumo, não é necessário codificar nada - basta carregar o Dired + .fonte
package-archives
dired+.el
desde 21/01/2010, como mostra o Log de alterações no arquivo. Visite o arquivo e veja se você não encontra essa função. OC-h f
nome dessa função realmente diz que não está definido após o carregamentodired+.el
? Observe que esta função não é um comando - você não pode invocá-la usandoM-x
. Mas você pode avaliar o sexp que escrevi usandoM-:
(ou usandoC-x C-e
, digamos,*scratch*
ou no seu arquivo init).M-x
. Eu adicionei este comando ao meuinit.el
e está funcionando agora. Obrigado!