Tải lại tệp hiện tại trong Emacs

Tai Lai Tep Hien Tai Trong Emacs



Khi làm việc với tệp Emacs, bạn có thể thực hiện các thay đổi và hoàn nguyên về trạng thái trước đó. Tình huống như vậy chính là ý nghĩa của việc tải lại một tập tin. Nó cho phép bạn loại bỏ tất cả các thay đổi bạn đã thực hiện trong bộ đệm và có trạng thái ban đầu của bộ đệm. Tệp được tải lại sẽ mở phiên bản được lưu trữ trong phần hủy của bạn.

Tải lại tệp là một cách gọn gàng để hoàn tác tất cả các thay đổi bạn đã thực hiện đối với tệp của mình và Emacs cung cấp các cách khác nhau để tải lại tệp hiện tại. Bài đăng này bao gồm hai phương pháp về cách tải lại tệp hiện tại. Đầu tiên, chúng ta sẽ nói về phương pháp hoàn nguyên. Sau đó, chúng ta sẽ tạo một lối tắt để thực hiện lệnh “tải lại”. Bắt đầu nào!







Hai phương pháp để tải lại tệp hiện tại trong Emacs

Emacs coi việc tải lại tệp hiện tại là một yêu cầu loại bỏ tất cả các thay đổi chưa được lưu. Làm như vậy sẽ truy xuất phiên bản của tệp được lưu trữ trên đĩa và tất cả các thay đổi sẽ bị loại bỏ.



Mở một tệp trong Emacs có nghĩa là tải tệp đó vào bộ đệm Emacs. Khi bạn thay đổi tệp, những thay đổi đó sẽ không ảnh hưởng đến phiên bản được lưu trữ trên đĩa cho đến khi bạn lưu tệp.



Tuy nhiên, nếu bạn thay đổi ý định, bạn luôn có thể tải lại tệp hiện tại để loại bỏ các thay đổi và sử dụng phiên bản được lưu trữ trên đĩa. Emacs sẽ nhắc bạn khi tải lại tệp xem nên lưu hay loại bỏ các thay đổi.





Cách 1: Sử dụng lệnh Tải lại

Emacs có lệnh 'revert-buffer' để bạn chạy bất cứ khi nào bạn muốn tải lại tệp. Trong ví dụ này, chúng tôi sẽ làm việc với tệp sau. Chúng tôi đã tải nó vào Emacs và thêm một dòng:




Giả sử chúng ta muốn loại bỏ các thay đổi và xóa dòng đã thêm. Tải lại tập tin sẽ thực hiện thủ thuật. Nhấn “M-x'” (Alt + x) trên Emacs của bạn và nhập “revert-buffer” trong dấu nhắc lệnh.


Khi bạn nhấn phím bàn phím RET/Enter, lệnh sẽ thực thi và bạn sẽ được nhắc xác nhận rằng bạn muốn hoàn nguyên bộ đệm để loại bỏ tất cả các thay đổi chưa được lưu. Để tải lại tập tin, gõ “có” và nhấn phím RET.


Ngay sau khi thực hiện, tệp sẽ được tải lại và tất cả những thay đổi chưa được lưu mà chúng tôi có sẽ bị loại bỏ. Bây giờ chúng tôi có tệp được lưu trữ trên đĩa và nó không chứa dòng cuối cùng mà chúng tôi đã thêm trước đó. Đó là cách bạn nhanh chóng loại bỏ những thay đổi trong tệp Emacs của mình.


Phương pháp 2: Ràng buộc lệnh tải lại

Thay vì gõ lệnh “revert-buffer” bất cứ khi nào bạn muốn tải lại tệp hiện tại, bạn có thể liên kết lệnh với một phím. Bằng cách đó, việc nhấn phím được liên kết sẽ thực hiện tác vụ tương tự như lệnh “revert-buffer”.

Bước đầu tiên là mở tệp cấu hình Emacs của bạn. Tệp cấu hình có thể là “.emacs” hoặc “.emacs.d/init.el”.

Sau khi bạn mở nó, chúng ta phải liên kết khóa với lệnh “tải lại”. Sử dụng thuộc tính “global-set-key” và chỉ định khóa nào cần liên kết và lệnh nào. Chúng tôi đang sử dụng khóa “f8” cho trường hợp này và câu lệnh liên kết của chúng tôi như sau:


Lưu tập tin cấu hình bằng cách nhấn “c-x c-s”. Để áp dụng các thay đổi của chúng tôi, hãy khởi động lại Emacs của bạn hoặc mở lại nó.

Bây giờ, chúng ta quay lại tệp ban đầu mà chúng ta đã tải vào bộ đệm Emacs. Thay vì gõ lệnh “revert-buffer” như ở phương pháp đầu tiên, chúng ta chỉ nhấn phím “f8” ở đây. Làm như vậy sẽ đưa ra lời nhắc xác nhận rằng chúng tôi muốn tải lại tệp và loại bỏ tất cả các thay đổi.


Khi bạn xác nhận rằng bạn muốn tải lại tệp, tất cả các thay đổi sẽ bị loại bỏ và bạn sẽ có phiên bản tệp được lưu trữ trên đĩa. Đó là cách bạn tải lại tệp hiện tại trong Emacs.

Phần kết luận

Tải lại tệp trong Emacs ngụ ý hoàn nguyên về phiên bản của tệp được lưu trữ trên đĩa. Đó là cách loại bỏ tất cả các thay đổi chưa được lưu trên tệp được tải vào Emacs. Bạn có thể tải lại một tập tin theo hai phương pháp. Phương pháp đầu tiên là sử dụng lệnh “revert-buffer” và xác nhận lời nhắc. Phương pháp thứ hai là liên kết lệnh “revert-buffer” với một phím và nhấn phím đó bất cứ khi nào bạn muốn tải lại tệp hiện tại. Cả hai lựa chọn đều được thảo luận trong bài viết này.