Como reabrir um arquivo no emacs?

16

Nas versões mais antigas do emacs, eu costumava digitar:

C-x C-f RET

E reabriria o arquivo atualmente visitado no buffer. Agora (emacs 23.1.1) ele abre Dired do diretório.

Eyal
fonte

Respostas:

18

Eu uso o M-x find-alternate-fileque é por padrão vinculado a C-x C-v.

Este comando permite recarregar um arquivo no buffer atual, recarregando o mesmo arquivo include - que é mostrado no mini-buffer por padrão. No entanto, isso não é tão conveniente se você tiver ativado o modo ido para alternância de buffer, pois ele não exibirá o nome do arquivo atual por padrão.

Mcradle
fonte
Outras respostas também foram excelentes, mas essa resposta tem o menor número de teclas digitadas.
Eyal
Este método aciona o gancho de modo, enquanto a resposta de Gilles find-file, não o aciona.
PanJunjie #
10

Tem certeza de que não deseja apenas reverter o buffer?

M-x revert-buffer RET
jwernerny
fonte
6

Você pode fazer C-x C-f M-n RET. O comportamento foi alterado porque C-x C-f RETreabrir um arquivo não era tão comum quanto C-x C-f DEL RETinvocar Dired no diretório.

Você também pode usar M-x revert-bufferpara recarregar um arquivo do disco, e o Emacs informará (na maioria dos sistemas operacionais) se você tentar editar um arquivo cuja cópia no disco tenha sido modificada externamente.

C-x C-f M-n também é útil para obter o caminho completo para o arquivo no minibuffer, para que você possa abrir um arquivo com um nome semelhante ou copiá-lo para o kill ring ou área de transferência.

Gilles 'SO- parar de ser mau'
fonte
2

Eu encontrei uma sugestão útil para voltar ao comportamento anterior C-x C-f RETna lista de discussão ajuda-GNU-Emacs :

Este hack foi postado por Ted Stern:

(defun find-file-read-args (prompt mustmatch)
  (list (let ((find-file-default
           (and buffer-file-name
                (abbreviate-file-name buffer-file-name))))
      (read-file-name prompt nil find-file-default mustmatch))
    t))

Eu tentei e funciona bem para mim no emacs 23.1.1.

av
fonte