我试图在Emacs中找到像Nerd Tree这样的东西,并找到了Nav,就像基本的emacs文件导航器一样,它适合我。
问题是,当我打开Nav并切换到其缓冲区时,邪恶模式仍然打开,如果我想使用任何导航特定命令(例如C-z
),我必须按.
nav-toggle-hidden-files
)。它让我很烦恼。
我试图通过粘贴来解决这个问题已经过了几个小时
(require 'evil)
(evil-mode 0)
Nav文件中的任何地方,但显然我做错了.. 而且我很确定在使用其他插件时它会再次发生.. 我该怎么做?
答案 0 :(得分:10)
正如邪恶的维基here所述,你可能想要查看邪恶的初始状态。
这是我的emacs配置的相关部分:
(evil-set-initial-state 'ibuffer-mode 'normal)
(evil-set-initial-state 'bookmark-bmenu-mode 'normal)
(evil-set-initial-state 'dired-mode 'emacs)
(evil-set-initial-state 'sunrise-mode 'emacs)
不能减轻这样一个事实:我确实希望有一天能在这些模式中使用vim键绑定...
答案 1 :(得分:8)
您希望{E_c}缓冲区在Emacs状态下打开,而不是在Evil的正常状态下打开。我不知道实际调用nav-mode
是什么,但请执行以下操作,相应地调整模式名称:
nav-mode
答案 2 :(得分:4)
你需要的是" hook",这将告诉Emacs您希望特定模式在哪些条件下处于活动状态。
我没有使用evil
或nav
模式,但您希望.emacs
中的以下某行类似 :
(add-hook 'nav-mode-hook 'disable-evil-mode)
此命令告诉Emacs当模式(其挂钩在nav-mode-hook
中列出)处于活动状态时,运行函数disable-evil-mode
。您可能必须根据nav-mode
和evil-mode
的实现方式修改挂钩列表名称或回调函数名称。
nav-mode-hook
是我对nav-mode
将其挂钩列表调用的猜测。如果它不起作用,请检查nav-mode
文档,查找如何添加挂钩。
disable-evil-mode
是你调用禁用邪恶模式的任何函数。检查恶意模式文档以获取实际的函数名称。