Làm cách nào để mở lại một tệp trong emacs?


16

Trong các phiên bản emacs cũ hơn, tôi thường gõ:

C-x C-f RET

Và nó sẽ mở lại tập tin hiện đang truy cập trong bộ đệm. Bây giờ (emacs 23.1.1) nó mở Dired của thư mục.

Câu trả lời:


18

Tôi sử dụng M-x find-alternate-filemà theo mặc định ràng buộc với C-x C-v.

Lệnh này cho phép tải lại một tệp vào bộ đệm hiện tại, tải lại cùng một tệp bao gồm - được hiển thị trong bộ đệm mini theo mặc định. Tuy nhiên, điều này không thuận tiện nếu bạn bật chế độ ido để chuyển đổi bộ đệm vì nó sẽ không hiển thị tên tệp hiện tại theo mặc định.


Các câu trả lời khác cũng rất tuyệt vời, nhưng câu trả lời này có ít lần nhấn phím nhất.
Mắt

Phương thức này kích hoạt móc chế độ, trong khi câu trả lời của Gilles find-file, sẽ không kích hoạt nó.
PanJunjie

10

Bạn có chắc chắn không muốn hoàn nguyên bộ đệm?

M-x revert-buffer RET

6

Bạn có thể làm C-x C-f M-n RET. Hành vi đã được thay đổi vì C-x C-f RETđể mở lại một tệp gần như không phổ biến như C-x C-f DEL RETđể gọi Dired trên thư mục.

Bạn cũng có thể sử dụng M-x revert-bufferđể tải lại một tệp từ đĩa và Emacs sẽ cho bạn biết (trên hầu hết các hệ điều hành) nếu bạn cố chỉnh sửa một tệp có bản sao trên đĩa đã được sửa đổi bên ngoài.

C-x C-f M-n cũng hữu ích để có được đường dẫn đầy đủ đến tệp trong bộ thu nhỏ, vì vậy bạn có thể mở một tệp có tên tương tự hoặc sao chép nó vào vòng giết hoặc bảng tạm.


2

Tôi tìm thấy một gợi ý hữu ích để quay trở lại hành vi trước đây của C-x C-f RETtrên sự giúp đỡ-gnu-emacs mailing list :

Bản hack này được đăng bởi Ted Stern:

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

Tôi đã thử nó và nó hoạt động tốt cho tôi trên emacs 23.1.1.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.