2012-04-18 35 views
2

我已经映射在我的vimrc以下键:防止某些命令映射,而专注于nerdtree

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脚本没有这样的选项。

回答

2

为了防止某些缓冲区中的映射,可以为同一个键序列定义一个缓冲区 - 局部映射,从而覆盖原始的映射。

autocmd FileType nerdtree noremap <buffer> <c-h> <nop> 
autocmd FileType nerdtree noremap <buffer> <c-l> <nop> 
+0

工作就像一个魅力,谢谢! – 2012-04-20 15:21:36