Tạo bộ đệm chỉ đọc trên cơ sở mỗi tệp


8

Tôi biết tôi có thể thiết lập một cái gì đó như -*- mode: read-only-mode -*-bên trong một bình luận và Emacs sẽ mở tệp tương ứng dưới dạng chỉ đọc. Vấn đề của tôi là tôi vẫn muốn đọc các tệp bao gồm một dòng như vậy với org-modechế độ chính; Emacs mở các tập tin này trong fundamental-mode.

Làm cách nào tôi có thể yêu cầu Emacs mở một tệp dưới dạng chỉ đọc và vẫn khiến nó sử dụng chế độ chính xác?

Câu trả lời:


10

read-only-modelà một chế độ nhỏ và không nên được đặt theo cách đó.

Đúng là sử dụng mode:với các chế độ nhỏ được sử dụng để làm việc. Tôi không chắc chắn nếu nó vẫn còn , nhưng nó chắc chắn không được chấp nhận (và nếu nó bị đóng băng org-mode, thì có lẽ nó không còn hoạt động nữa).

Chỉ sử dụng mode:để đặt chế độ chính và sử dụng eval:để bật các chế độ nhỏ:

Bạn có thể sử dụng một trong hai cách sau:

-*- eval: (read-only-mode 1) -*-
-*- buffer-read-only: t -*-

Sử dụng mode:với các chế độ nhỏ vẫn hoạt động. Tôi sử dụng nó cho mình, thường liệt kê một chế độ chính trước và sau đó là chế độ phụ (như outline-minor) sau đó. Nhưng tôi thấy bây giờ hướng dẫn nói không làm điều đó, vì vậy tôi đoán tôi sẽ phải thay đổi cách làm này. Có lẽ với một cái móc hơn là một eval.
Harald Hanche-Olsen

6

Cách thông thường là làm cho tệp chỉ đọc trong hệ điều hành của bạn. Khi tệp được mở, hãy chạy M-x set-file-modes RET(hoặc bí danh của nó chmod), nhấn down RETđể nhập tên của tệp hiện tại và nhập a=r(đối với tất cả các mục tiêu sẽ trở thành đọc - xem quyền truy cập tệp để biết chi tiết). Bạn cũng có thể làm điều này từ Dired hoặc bất kỳ trình quản lý tệp nào khác.

Ngoài ra, nếu bạn muốn tệp chỉ đọc trong Emacs nhưng có thể ghi trong các ứng dụng khác, hãy đặt biến tệp buffer-read-onlythành t.

-*- buffer-read-only: t -*-
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.