Emacs 定义键盘退出和高亮显示清除的新功能
我对elisp非常陌生,我试图定义一个函数来设置搜索时的突出显示行为。目标是:在i-search之后,我希望能够用C-g清除突出显示,但如果我按enter键,我希望突出显示保持不变 因此,我在init.el中定义了一个函数: 但无论如何,它不起作用。这里怎么了Emacs 定义键盘退出和高亮显示清除的新功能,emacs,elisp,Emacs,Elisp,我对elisp非常陌生,我试图定义一个函数来设置搜索时的突出显示行为。目标是:在i-search之后,我希望能够用C-g清除突出显示,但如果我按enter键,我希望突出显示保持不变 因此,我在init.el中定义了一个函数: 但无论如何,它不起作用。这里怎么了 谢谢 恐怕有很多事情: 您的全局设置密钥已断开: (global-set-key (kbd "C-g") 'keyboard-quit-cleanup) 不是: 你在哪里看到的 自定义函数不是交互式命令,因此无法将其绑定到键。它需要:
谢谢 恐怕有很多事情: 您的全局设置密钥已断开:
(global-set-key (kbd "C-g") 'keyboard-quit-cleanup)
不是:
你在哪里看到的
自定义函数不是交互式命令,因此无法将其绑定到键。它需要:
(defun keyboard-quit-cleanup ()
"Clean up highlights after keyboard quit."
(interactive)
...)
您可能希望使用FORCE参数来延迟高亮显示清理
你绑错东西了
C-g绑定到isearch模式映射键映射中的isearch中止
编辑:根据tripleee的评论,搞乱全局绑定肯定是个坏主意。肯定有一些特殊的行为与之相关,你不想冒险破坏它
当您希望在标准行为中添加额外的行为时,您可能希望根据偏好使用钩子或一些建议。在这种情况下,我们可以使用方便的挂钩
参见C-hv isearch模式端部吊钩RET
添加钩子“isearch模式结束钩子”我的isearch结束
解除我的搜索结束
“isearch模式结束挂钩”的自定义行为。
当isearch模式结束钩子退出时
惰性高光清除
我假设您通常将惰性高光清理设置为nil,否则默认情况下会进行清理。恐怕有很多事情: 您的全局设置密钥已断开:
(global-set-key (kbd "C-g") 'keyboard-quit-cleanup)
不是:
你在哪里看到的
自定义函数不是交互式命令,因此无法将其绑定到键。它需要:
(defun keyboard-quit-cleanup ()
"Clean up highlights after keyboard quit."
(interactive)
...)
您可能希望使用FORCE参数来延迟高亮显示清理
你绑错东西了
C-g绑定到isearch模式映射键映射中的isearch中止
编辑:根据tripleee的评论,搞乱全局绑定肯定是个坏主意。肯定有一些特殊的行为与之相关,你不想冒险破坏它
当您希望在标准行为中添加额外的行为时,您可能希望根据偏好使用钩子或一些建议。在这种情况下,我们可以使用方便的挂钩
参见C-hv isearch模式端部吊钩RET
添加钩子“isearch模式结束钩子”我的isearch结束
解除我的搜索结束
“isearch模式结束挂钩”的自定义行为。
当isearch模式结束钩子退出时
惰性高光清除
我假设您通常将惰性高光清理设置为nil,否则默认情况下会进行清理。可能会强调全局重新绑定C-g是一个非常糟糕的主意。可能会强调全局重新绑定C-g是一个非常糟糕的主意。