我在vimrc中映射了以下键:
noremap <silent> <C-h> :bprev<CR>
noremap <silent> <C-l> :bnext<CR>
它们执行的命令从buftabs脚本中提供:
http://www.vim.org/scripts/script.php?script_id=1664
我想做的是防止我在NERDTree拆分中时执行那些键映射。这样做的原因是,如果在NERDTree中运行命令时,将在拆分中加载文件缓冲区。然后,要修复此问题,需要关闭并再次打开窗口。
这是与explained here类似的问题,但是他的问题已通过配置插件得到纠正,但是buftabs脚本没有这样的选项。
为了禁用某些缓冲区中的映射,可以定义相同键序列的本地缓冲区映射,覆盖没有操作的原始映射:
:autocmd FileType nerdtree noremap <buffer> <c-h> <nop> :autocmd FileType nerdtree noremap <buffer> <c-l> <nop>
(有关以下内容的详细信息,请参见
:help :map-arguments
和:help <nop>
<buffer>
和<nop>
。)