如何禁用vim中某些特定窗口中的某些功能?

时间:2013-11-28 07:57:47

标签: vim

这是我的问题:
我正在使用taglist和nerdtree。并设置quickfix窗口,无论它是否有上下文。 在我的vimrc中,我按固定顺序设置它们,所以我可以得到我想要的布局 但是当我使用C-o,C-i,C-]时,它会跳转到一个文件,如果我想要taglist和nerdtree的功能,我应该退出并再次打开它。
但它会打破我想要的布局。所以我必须退出所有并再次打开文件。

那么,是否可以在某些特定窗口中显示某些功能?

感谢您的帮助。:))

1 个答案:

答案 0 :(得分:1)

您可以通过:map <buffer>禁用缓冲区的某些命令;对于侧边栏 windows ,比如NERDTree,这很好,因为它们总是显示相同的(临时)缓冲区。例如,要在NERDTree中禁用<C-O>

:autocmd FileType nerdtree nnoremap <buffer> <C-o> <Nop>

我不完全理解你的问题,但是另一种方法(因为很难完全控制Vim放置新缓冲区内容的地方)将是从.vimrc扩展你的“构建你的窗口布局”功能到第一次清理任何现有的NERDTree / TagBar窗口,以便您稍后可以调用它(例如通过映射)再次“修复”您的布局。