无法切换NERDTree

5
我看到如果你输入nnoremap <C-e> :NERDTreeToggle<CR>,就可以切换NERDTree查看器 - 如果你还没有打开NERDTree并输入Control+E,那么你可以打开NERDTree查看器,如果你已经打开了它,你可以用相同的方式关闭NERDTree,就像你输入:NERDTreeToggle一样。
然而,当我尝试做同样的事情时,我可以成功地打开它 - 但我无法关闭它,屏幕仍然保持不变,除了主标题略微改变,例如从NERD_tree_1NERD_tree_2
那么我该如何使用切换功能?还是我理解错了?
1个回答

15

我注意到你正在使用 inoremap,它只在插入模式下绑定了一个 C-e 按键。

我在我的 VIM 安装中尝试了你的方式,确实按下 C-e 会在插入模式下输入 :NERDTreeToggle。 而在正常模式下没有影响。

如果这是一个错误,请尝试更改为:

nnoremap <C-e> :NERDTreeToggle<CR>

我已经将它添加到.vimrc文件中 - 它可以正常工作。 另外,如果你仍然遇到问题,请尝试使用另一个热键,你可能与其他绑定冲突了。


糟糕。我在我的.vimrc中实际上写出了nmoremap,而不是inoremap,但是在原始问题中未能正确输入。现已修正。 - Blaszard
1
@user2360798 好的,NERDTreeToggle 是正确的绑定方式。我建议你尝试另一个热键,例如 F5,以验证它不是由于热键而引起的问题,而是其他原因。这是我的绑定示例:nnoremap <silent> <F6> :NERDTreeToggle<CR> - alandarev
当我尝试将“Control+N”设置为切换功能时,它按预期工作。然而,即使我重置映射并重新启动,它仍然像输入“Control+N”会导致切换而不是返回到先前的设置... - Blaszard
奇怪。如果手动输入:NERDTreeToggle并按Enter键可以工作,那么您应该重新制定问题,为我们提供一些信息来解决问题。仅仅说“它不起作用”是不够的:(。如果:NERDTreeToggle没有按预期工作,那么您可以通过观察.vim/plugin中的源代码进行调试。 - alandarev
在阅读了您的答案和评论后,我怀疑我的一些vim设置与某些东西冲突了...所以我只是删除了NERDTree并重新安装了它,然后通过键入Control+E来切换。然而,键入Control+N仍然会导致切换,而不是之前映射的那个...也许只是因为删除映射设置并不会导致恢复到先前的映射?非常感谢原始问题。 - Blaszard
1
欢迎您 :) 所有的映射都是通过配置文件(.vimrc 和 .vim 文件夹)来分配的。一旦您重新启动VIM,就没有秘密的“内存”来存储临时映射。假设您在Linux上,可以使用find和grep来查找<C-n>映射。如果您在.vim文件夹中:find . | xargs grep -n "<C-n>"。还请不要忘记检查.vimrc文件中的<C-n>本身。 - alandarev

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接