Як повторно відкрити файл у emacs?


16

У старих версіях emacs я вводив:

C-x C-f RET

І він би відкрив файл, який зараз відвідується в буфері. Тепер (emacs 23.1.1) він відкриває Dired of the directory.

Відповіді:


18

Я використовую, M-x find-alternate-fileщо за замовчуванням пов'язане з C-x C-v.

Ця команда дозволяє перезавантажити файл на поточний буфер, перезавантаживши той самий файл include - який показаний у міні-буфері за замовчуванням. Однак це не так зручно, якщо для переключення буфера увімкнено режим ido, оскільки він не відображатиме поточне ім'я за замовчуванням.


Інші відповіді теж були чудовими, але ця відповідь має найменші натискання клавіш.
Eyal

Цей метод запускає гачок режиму, в той час, як відповідь Гілла find-file, його не запустить.
PanJunjie 潘俊杰


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на допомогу-гну-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.