Emacs: tạo một phần của bộ đệm chỉ đọc


9

Thỉnh thoảng tôi chỉnh sửa các tệp trong emacsđó các phần của tệp là tài liệu hoặc thứ khác không nên chỉnh sửa và một phần khác là "khu vực chơi" nơi tôi có thể tự do chỉnh sửa và tạo văn bản mới.

Câu hỏi: tôi có thể tạo một phần của bộ đệm emacs chỉ đọc không?

Ví dụ đơn giản nhất là tạo các dòng 1-100 chỉ đọc (ví dụ). Một ví dụ phức tạp hơn (tương tự như dấu trang emacs) sẽ làm cho tất cả văn bản nằm giữa [readonly][/readonly]không thể chỉnh sửa được.

Tôi đã hiểu điều này, nhưng không thể tìm thấy bất cứ điều gì hữu ích.

Câu trả lời:


8

Có, bạn có thể tạo một phần của bộ đệm chỉ đọc bằng các thuộc tính văn bản. Mã dưới đây xác định hai lệnh mới make-region-read-onlymake-region-read-writeđiều đó ảnh hưởng đến khu vực giữa điểm và điểm. Đặt mã trong tệp .emacs của bạn để cung cấp các lệnh có sẵn thông qua Meta-x.

(defun make-region-read-only (start end)
  (interactive "*r")
  (let ((inhibit-read-only t))
    (put-text-property start end 'read-only t)))

(defun make-region-read-write (start end)
  (interactive "*r")
  (let ((inhibit-read-only t))
    (put-text-property start end 'read-only nil)))
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.