gpt4 book ai didi

emacs - 当缓冲区只读时定义键

转载 作者:行者123 更新时间:2023-12-02 09:09:00 30 4
gpt4 key购买 nike

当我的缓冲区为只读时,我尝试以与“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 时评估它们> 被执行。此外,每当缓冲区再次读写时,您都希望它们撤消

您可以利用 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)

关于emacs - 当缓冲区只读时定义键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15768316/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com