Vim和NERDTree - 重新映射回车键功能

3
我想重新映射我的Alt+x组合键到NERDTree的Enter功能。让我解释一下:当我在NERDTree中浏览文件/文件夹时,我可以使用Enter打开文件/展开文件夹。
我想用左手的组合键,比如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输出的(已测试其他映射)。您应该重新映射什么?

这对我在我的 Mac 上有效。你在你的 vimrc 中有什么确切的行?(我假设你上面的行不是因为注释而产生的) - FDinoff
1个回答

5
< p >使用 Alt (<M-<A-) 修饰键在许多环境中都很麻烦,特别是在使用终端复用器的SSH终端中,因此我尽量不使用它。即使我在我的桌面上得到了它的工作,它可能由于某些难以理解的原因而在其他地方无法工作。有很多键绑定可以选择。除非您有充分的理由使用 Alt,否则我建议不要使用它。


话虽如此,您可以使用 :verb 命令找到在 NERDTree 中按下 Enter(或 o)打开文件夹时调用的命令。这必须在选择 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>

底线:
我想指出我不明白为什么你要使用这样的映射。你可以使用o,就可以很接近这个功能了(同样适用于Enter)。


非常好用,谢谢!说到使用“Alt”,我注意到了你的话,我会尽快修复所有的“Alt-”快捷键。再次感谢! - whatyouhide
1
@whatyouhide 没问题!很高兴看到我的写作除了给你命令之外还有帮助。 - timss
@timss 非常感谢您:verb map <Enter> - whitesiroi

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