在 Vim 的 NERDTree 窗口中阻止某些命令映射

Tho*_* II 3 vim nerdtree

我的文件中映射了以下键.vimrc

noremap <silent> <C-h> :bprev<CR>
noremap <silent> <C-l> :bnext<CR>
Run Code Online (Sandbox Code Playgroud)

它们执行的命令由buftabs 脚本提供。

我想要做的是当我处于 NERDTree 拆分时阻止执行这些键映射。原因是如果命令在 NERDTree 中运行,则会在拆分中加载文件缓冲区。然后,要修复它,需要关闭并再次打开窗口。

这是与另一个问题中解释的类似问题,但是通过配置插件纠正了该问题,而 buftabs 脚本没有这样的选项。

ib.*_*ib. 5

为了禁用某些缓冲区中的映射,可以为相同的键序列定义缓冲区本地映射,并使用无操作覆盖原始映射:

:autocmd FileType nerdtree noremap <buffer> <c-h> <nop>
:autocmd FileType nerdtree noremap <buffer> <c-l> <nop>
Run Code Online (Sandbox Code Playgroud)

(有关和的详细信息 ,请分别参阅:help :map-arguments和。):help <nop><buffer><nop>