9 emacs
我有时会编辑文件,emacs
其中文件的一部分是文档或其他不应编辑的内容,另一部分是“播放区域”,我可以在其中自由编辑和创建新文本。
问题:我可以将 emacs 缓冲区的一部分设为只读吗?
最简单的例子是将 1-100 行设为只读(例如)。更复杂的例子(类似emacs的书签)将是使之间的所有文字[readonly]
和[/readonly]
编辑。
我用谷歌搜索了这个,但找不到任何有用的东西。
是的,您可以使用文本属性将缓冲区的一部分设为只读。下面的代码定义了两个新命令make-region-read-only
,make-region-read-write
它们影响点和标记之间的区域。将代码放在 .emacs 文件中,以便通过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)))
Run Code Online (Sandbox Code Playgroud)