Wie öffne ich eine Datei in Emacs erneut?


16

In älteren Emacs-Versionen habe ich Folgendes eingegeben:

C-x C-f RET

Und es würde die aktuell besuchte Datei im Puffer wieder öffnen. Jetzt (emacs 23.1.1) öffnet es Dired des Verzeichnisses.

Antworten:


18

Ich benutze M-x find-alternate-filedas, an das standardmäßig gebunden ist C-x C-v.

Mit diesem Befehl können Sie eine Datei erneut in den aktuellen Puffer laden. Dabei wird dasselbe Datei-Include erneut geladen, das standardmäßig im Minipuffer angezeigt wird. Dies ist jedoch nicht so praktisch, wenn Sie den Ido-Modus für die Pufferumschaltung aktiviert haben, da standardmäßig nicht der aktuelle Dateiname angezeigt wird.


Andere Antworten waren auch hervorragend, aber diese Antwort hat die wenigsten Tastenanschläge.
Eyal

Diese Methode löst den Modus-Hook aus, während Gilles 'Antwort find-fileihn nicht auslöst.
PanJunjie 潘俊杰

10

Möchten Sie den Puffer wirklich nicht einfach zurücksetzen?

M-x revert-buffer RET

6

Sie können es tun C-x C-f M-n RET. Das Verhalten wurde geändert, da C-x C-f RETdas erneute Öffnen einer Datei bei C-x C-f DEL RETweitem nicht so häufig war wie das Aufrufen von Dired für das Verzeichnis.

Sie können auch verwenden M-x revert-buffer, um eine Datei von der Festplatte neu zu laden, und Emacs teilt Ihnen (auf den meisten Betriebssystemen) mit, ob Sie versuchen, eine Datei zu bearbeiten, deren Kopie auf der Festplatte extern geändert wurde.

C-x C-f M-n Dies ist auch nützlich, um den vollständigen Pfad zu der Datei im Minipuffer abzurufen. Sie können also eine Datei mit einem ähnlichen Namen öffnen oder in den Kill Ring oder die Zwischenablage kopieren.


2

Ich fand einen nützlichen Vorschlag zum vorherigen Verhalten zurück zu gehen C-x C-f RETauf Hilfe-Gnu-Emacs - Mailingliste :

Dieser Hack wurde von Ted Stern gepostet:

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

Ich habe es ausprobiert und es funktioniert gut auf Emacs 23.1.1.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.