Vim和NERDTree - remap输入功能



我试图将我的Alt+x组合重新映射到NERDTree 输入功能。让我解释一下:当我在NERDTree中浏览文件/文件夹时,我可以用打开文件/展开文件夹,输入

我想用左键组合如Alt+x来做到这一点。我试图将这些键重新映射到<CR><Enter>,它们都不起作用:

# in ~/.vimrc
nnoremap ≈ <Enter>     " doesn't work
nnoremap ≈ <CR>        " doesn't work
nnoremap ≈ <CR><Enter> " doesn't work

当我说"不工作"时,我的意思是当我在浏览文件/文件夹时按Alt+x时,我移动到下一个文件/文件夹(我猜这就像移动到下一行)。

注意我在Mac上,所以实际上是Alt+x的输出(它与其他映射进行了测试)。

我应该重新映射什么?

带有Alt (<M-<A-)的修饰符在很多环境中都很麻烦,特别是在带有终端多路复用器的SSH终端中,因此我尽量不使用它。即使我让它在我的桌面上工作,它也可能因为一些模糊的原因在其他地方不能工作。有很多键绑定可以借鉴。除非你有足够的理由使用Alt,否则我建议你不要这样做。


也就是说,当按输入(或o)使用:verb命令打开NERDTree中的文件夹时,您可以找到正在调用的命令。这必须在NERDTree窗格被选中时运行:

:verb map <Enter>
n  o           *@:call nerdtree#invokeKeyMap("o")<CR>
        Last set from ~/.vim/bundle/nerdtree/lib/nerdtree/key_map.vim

既然你有了正确的命令,就没有必要再把别的东西重新绑定到<Enter><CR>上了。
通常你会使用<A-x>,但如果适用于你,那么我想这很好:

:nnoremap ≈ :call nerdtree#invokeKeyMap("o")<CR>

底线:
我想指出的是,我不明白您为什么要使用这样的映射。您可以使用,并且您将/应该在该范围内(输入也是如此)。

最新更新