与Emacs specific region read only密切相关如何删除缓冲区中文本区域的只读属性。
例如,如果您在emacs中使用python shell并意外打印出一个巨大的列表,并希望从缓冲区中删除输出。
答案 0 :(得分:3)
我使用以下内容。它与tcaswell的答案相同,但处理缓冲区修改问题。
(defun set-region-read-only (begin end)
"See http://stackoverflow.com/questions/7410125"
(interactive "r")
(let ((modified (buffer-modified-p)))
(add-text-properties begin end '(read-only t))
(set-buffer-modified-p modified)))
(defun set-region-writeable (begin end)
"See http://stackoverflow.com/questions/7410125"
(interactive "r")
(let ((modified (buffer-modified-p))
(inhibit-read-only t))
(remove-text-properties begin end '(read-only t))
(set-buffer-modified-p modified)))
答案 1 :(得分:2)
在the documentation中以只读方式进行隐秘评论后,从您需要的地区删除只读:
(defun remove-region-read-only (begin end)
(interactive "r")
(let ((inhibit-read-only t))
(remove-text-properties begin end '(read-only t)))
)