当我不编辑它时,我喜欢将我的编码缓冲区设置为只读(如Vi模式编辑,只读)。为此,我可以使用C-x C-q
打开/关闭可写状态的emacs缓冲区。似乎这个写锁定功能有一些来自RCS的继承或类似的文件锁定/修订系统的方式,因此使用版本控制下的文件不起作用:
C-x C-q
File is under version-control; use C-x v v to check in/out
我不想办理入住/退房我只想防止“猫打字”。我可以写一个宏触发器find-file-read-only'/'find-file'并给它一些键绑定但我相信在emacs或.el中已经有了一个解决方案。有什么建议吗?
答案 0 :(得分:8)
您可以改为使用view-mode
。
答案 1 :(得分:4)
或者你可以挂钩查找文件
(add-hook 'find-file-hook
'(lambda ()
(when (and (buffer-file-name)
(file-exists-p (buffer-file-name))
(file-writable-p (buffer-file-name)))
(message "Toggle to read-only for existing file")
(toggle-read-only 1))))
并使用C-x C-q更改文件的只读状态
答案 2 :(得分:1)
您可以设置file variable,将 buffer-read-only 的值设置为正值。
您需要在文件的前2行设置它。例如,在这里我将它设置为一个python缓冲区:
#!/usr/bin/python
# -*- coding: utf-8 ; buffer-read-only: 1 ; -*-
就像那样,每次打开后都不需要记住手动设置它。