imenu-list怎么禁用evil
这个问题建议问chatGPT,不明白为什么有些人觉得chatGPT没用,认为是骗局
如果你在Emacs中使用了Evil模式,并且想要禁用imenu-list插件,可以在Evil模式下添加一个局部按键绑定,将imenu-list-toggle命令绑定到一个无操作的命令上。这样,当你在Evil模式下按下imenu-list-toggle绑定的按键时,实际上并不会触发imenu-list-toggle命令,从而达到禁用imenu-list插件的效果。
以下是具体步骤:
打开你的Emacs配置文件(一般是~/.emacs或~/.emacs.d/init.el)。
在文件末尾添加以下代码:
Copy ;; 在Evil模式下禁用imenu-list ;; 在Evil模式下禁用imenu-list
(evil-define-key 'normal imenu-list-major-mode-map
(kbd "SPC") 'nil)
这个代码将imenu-list-major-mode-map中SPC键的绑定映射到nil,即无操作。这样,在Evil模式下按下SPC键时,不会触发imenu-list-toggle命令。
保存配置文件并重新加载Emacs配置。 现在,当你在Evil模式下按下SPC键时,就不会触发imenu-list-toggle命令了。如果你要重新启用imenu-list插件,只需要注释掉或删除这段代码即可。
需要注意的是,这种方法只是禁用了imenu-list插件在Evil模式下的按键绑定,但插件本身仍然是激活状态。如果你要完全禁用imenu-list插件,可以考虑在Emacs配置文件中将插件的加载代码删除或注释掉。
注:因为我问反了,所有上面的回答应该是不正确的,只是提个建议
试试 (evil-set-initial-state 'imenu-list-major-mode 'emacs)
如果想在imenu-list窗口中禁用evil-mode
(add-hook 'imenu-list-major-mode-hook (lambda () (evil-local-mode -1))
如果只是想使用默认定义的按键,可以使用
(with-eval-after-load 'evil
(evil-make-overriding-map imenu-list-major-mode-map 'normal))