Vim 和 NERDTree - 重新映射输入功能

标签 vim nerdtree

我正在尝试将我的 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 的输出(用其他映射测试过)。

我应该重新映射什么?

最佳答案

带有 Alt 的修饰符(<M-<A-)在许多环境中都很麻烦,尤其是在带有终端多路复用器的 SSH 终端中,因此我尽量不使用它。即使我确实让它在我的桌面上工作,它也可能由于一些不明原因在其他地方无法工作。有很多键绑定(bind)可供使用。除非你有充分的理由使用 Alt,否则我建议不要使用它。


话虽这么说,您可以找到在按 Enter(或 o)使用 :verb 打开 NERDTree 中的文件夹时调用的命令。命令。这必须在选择 NERDTree Pane 时运行:

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

既然您已经输入了正确的命令,那么通过将其他内容重新绑定(bind)到 <Enter> 进行黑客攻击就没有意义了。或 <CR> .
通常你会使用 <A-x> , 但如果 对你有用,那很好,我想:

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

底线:
我想指出,我不明白您为什么要使用这样的映射。你可以使用 o,你会/应该在这个范围内(同样可以说 Enter)。

关于Vim 和 NERDTree - 重新映射输入功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16523585/

相关文章:

vim:打开NERDTree,将光标移动到文件编辑区

Vim NERDTree 颜色

vim - 将 NERDTree 双击重新映射到 'T'

vim - NERDTree:Autocmd 错误 vim

使用 ctags 的 Vim Markdown 导航 : using 'tagbar' + 'markdown2ctags' with 'vim-pandoc'

windows - GVim Win32 中的仅键盘列 block 选择,或者为什么包含 mswin.vim 时 Ctrl-Q 不模拟 Ctrl-V?

vim - 无法覆盖背景颜色

vim - 新窗口中的 nerdtree textwidth

vim - Confluence - VIM 桥接?

vim - 我怎样才能保留 Vim 撤消历史但不允许隐藏修改过的缓冲区?