我想在Emacs中找到类似Nerd Tree的东西并找到Nav,它就像基本的emacs文件导航器一样,它适合我.
问题是,当我打开Nav并切换到它的缓冲区时,邪恶模式仍然存在,C-z
如果我想使用任何Nav特定命令(例如.
for nav-toggle-hidden-files
),我必须按下.它让我烦恼.
我试图通过粘贴来解决这个问题已经有几个小时了
(require 'evil)
(evil-mode 0)
Run Code Online (Sandbox Code Playgroud)
Nav文件中的每一个地方,但显然我做错了.我很确定它会在使用其他插件时再次发生..我该怎么做?
joe*_*mct 10
正如邪恶维基上所述,你可能想要查看邪恶的初始状态.
这是我的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)
Run Code Online (Sandbox Code Playgroud)
不能减轻这样一个事实,即我确定有一天会在这些模式中使用vim键绑定...
您希望nav-mode
缓冲区在Emacs状态下打开,而不是在Evil的正常状态下打开.我不知道nav-mode
实际调用了什么,但是请执行以下操作,相应地调整模式的名称:
(add-to-list 'evil-emacs-state-modes 'nav-mode)
您需要的是“钩子”,它会告诉 Emacs 在什么条件下您希望特定模式处于活动状态或不处于活动状态。
我不使用evil
ornav
模式,但你想要一些与你的以下行非常相似的东西.emacs
:
(add-hook 'nav-mode-hook 'disable-evil-mode)
Run Code Online (Sandbox Code Playgroud)
此命令告诉 Emacs 当模式(其钩子列在 中nav-mode-hook
)处于活动状态时,运行函数disable-evil-mode
。您可能必须根据实现方式nav-mode
和evil-mode
实现方式修改挂钩列表名称或回调函数名称。
nav-mode-hook
是我nav-mode
对它的钩子列表的猜测。如果它不起作用,请查看nav-mode
文档,寻找如何添加钩子。
disable-evil-mode
是您调用以禁用邪恶模式的任何函数。检查邪恶模式文档以获得实际的函数名称。