我在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脚本没有这样的选项。
答案 0 :(得分:3)
为了防止某些缓冲区中的映射,可以定义 相同键序列的缓冲区本地映射,从而覆盖原始映射 映射。
autocmd FileType nerdtree noremap <buffer> <c-h> <nop>
autocmd FileType nerdtree noremap <buffer> <c-l> <nop>
答案 1 :(得分:0)
我通过查看ib。的解决方案来更新vimrc。
autocmd FileType nerdtree noremap <buffer> <A-PageDown> <ESC>:wincmd w <bar> bnext<CR>
autocmd FileType nerdtree noremap <buffer> <A-PageUp> <ESC>:wincmd w <bar> bprevious<CR>
它返回上一个窗口并执行命令。