Как заново открыть файл в emacs?


16

В старых версиях emacs я набирал:

C-x C-f RET

И это снова откроет файл, который в настоящее время посещается в буфере. Теперь (emacs 23.1.1) он открывает Dired из каталога.

Ответы:


18

я использую M-x find-alternate-file который по умолчанию связан с C-x C-v,

Эта команда позволяет перезагрузить файл в текущий буфер, перезагрузив тот же файл include - который по умолчанию отображается в мини-буфере. Это, однако, не так удобно, если у вас включен режим ido для переключения буфера, поскольку по умолчанию текущее имя файла не отображается.


Другие ответы тоже были превосходны, но в этом ответе меньше всего нажатий клавиш.
Eyal

Этот метод вызывает ловушку режима, в то время как ответ Жиля, find-fileне сработает.
PanJunjie潘俊杰

10

Вы уверены, что не хотите просто восстановить буфер?

M-x revert-buffer RET

6

Ты можешь сделать C-x C-f M-n RET, Поведение было изменено, потому что C-x C-f RET открыть файл было не так часто, как C-x C-f DEL RET вызвать Dired в каталоге.

Вы также можете использовать M-x revert-buffer перезагрузить файл с диска, и Emacs сообщит вам (в большинстве операционных систем), если вы попытаетесь редактировать файл, копия которого на диске была изменена извне.

C-x C-f M-n также полезно получить полный путь к файлу в минибуфере, чтобы вы могли открыть файл с похожим именем или скопировать его в список уничтожений или буфер обмена.


2

Я нашел полезное предложение вернуться к предыдущему поведению C-x C-f RET на список рассылки help-gnu-emacs :

Этот взлом был опубликован Тедом Стерном:

(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))

Я попробовал это, и это хорошо работает для меня на Emacs 23.1.1.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.