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