16

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

C-x C-f RET

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

4 ответа4

18

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

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

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.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .