当我的缓冲区是只读的(是的,我很懒)时,我尝试以与“C-n”和“C-p”相同的方式使用键“n”和“p”。
我在 .emacs 文件中使用此代码:
(when buffer-read-only (local-set-key "n" 'next-line))
(when buffer-read-only (local-set-key "p" 'previous-line))
当缓冲区自动设置为只读时(即像在 w3m 中一样),它可以工作,但当我运行 C-x C-q (切换只读)时,它似乎不起作用。它一直说
Buffer is read-only: #<buffer buffername>
我不知道这怎么能行得通……
您的关键定义在加载期间进行评估.emacs
,而您希望每次访问只读文件时评估它们,并且每次toggle-read-only
被执行。此外,你想要他们undone每当缓冲区再次读写时。
您可以利用 Emacs 已经支持自动激活的事实,而不是实现所有这些view-mode
在只读缓冲区中。您需要做的就是启用该功能,并在中定义您的密钥view-mode-map
:
(setq view-read-only t) ; enter view-mode for read-only files
(define-key view-mode-map "n" 'next-line)
(define-key view-mode-map "p" 'previous-line)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)