Jak ponownie otworzyć plik w emacsie?

16

W starszych wersjach emacsa pisałem:

C-x C-f RET

I ponownie otworzyłby plik aktualnie odwiedzany w buforze. Teraz (emacs 23.1.1) otwiera Dired katalogu.

Eyal
źródło

Odpowiedzi:

18

Używam, M-x find-alternate-fileco jest domyślnie związane z C-x C-v.

To polecenie pozwala ponownie załadować plik do bieżącego bufora, ponownie ładując ten sam plik include - który domyślnie jest wyświetlany w mini-buforze. Nie jest to jednak tak wygodne, jeśli masz włączony tryb ido do przełączania buforów, ponieważ domyślnie nie wyświetla bieżącej nazwy pliku.

Mcradle
źródło
Inne odpowiedzi również były doskonałe, ale ta odpowiedź ma najmniejszą liczbę naciśnięć klawiszy.
Eyal
Ta metoda wyzwala przechwytywanie trybu, a odpowiedź Gillesa find-filego nie wyzwala.
PanJunjie 潘俊杰
10

Czy na pewno nie chcesz po prostu przywrócić buforu?

M-x revert-buffer RET
jwernerny
źródło
6

Można to zrobić C-x C-f M-n RET. Zachowanie zostało zmienione, ponieważ C-x C-f RETponowne otwarcie pliku nie było tak powszechne, jak C-x C-f DEL RETwywołanie Dired w katalogu.

Możesz także użyć M-x revert-bufferdo ponownego załadowania pliku z dysku, a Emacs powie ci (w większości systemów operacyjnych), jeśli spróbujesz edytować plik, którego kopia na dysku została zmodyfikowana zewnętrznie.

C-x C-f M-n jest również przydatny do uzyskania pełnej ścieżki do pliku w minibuforze, dzięki czemu można otworzyć plik o podobnej nazwie lub skopiować go do pierścienia zabójstwa lub schowka.

Gilles „SO- przestań być zły”
źródło
2

Znalazłem przydatną propozycję powrotu do poprzedniego zachowania C-x C-f RETna liście mailingowej help-gnu-emacs :

Ten hack został opublikowany przez Teda Sterna:

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

Wypróbowałem to i działa dobrze dla mnie na emacs 23.1.1.

av
źródło