我正在尝试将 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 的输出(它已经过测试其他映射)。
我应该重新映射什么?
答案 0 :(得分:5)
使用 Alt (<M-
或<A-
)的修饰符在很多环境中都很麻烦,特别是在使用终端多路复用器的SSH终端上,因此我尽量不要用它。即使我确实让它在我的桌面上工作,但由于某些不明原因,它可能无法在其他地方工作。有很多关键词可以采取。除非你有充分的理由使用 Alt ,否则我会反对它。
话虽如此,当按 Enter (或 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>
底线:
我想请注意,我不明白你为什么要使用这样的映射。你可以使用 o ,你应该/应该在这个范围内(对于 Enter 也是如此)。