我在推出vim时打开NERDTree和MiniBufExplorer,所以我有三个窗口.每当我使用上述插件时,文件/缓冲区都会显示在正确的窗口中,这是最初的窗口.但是每当我使用命令这样:e ~/.vimrc的命令工作在包含光标的窗口时.这意味着我必须始终记住将光标移动到用于编辑的窗口.我想知道是否有办法让命令在该窗口上工作,无论光标在哪里,或者文件缓冲区是否会自动出现在该窗口中?
我正在寻找一种方法让光标移动到右侧窗口时:(或者我可以使用的其他一些键)被按下,但是我无法找到方法,因为无法识别窗口(或者是否存在?).
您要求Vim更改每个文件和缓冲区命令的更改方式,以适应您的插件选择和工作流程.你在这里反对vim方式,它将阻碍你使用Vim的分裂.
首先要认识到Vim没有Project抽屉的概念,只有分裂/窗口.这意味着NerdTree和其他插件会不遗余力地模拟Project Drawer行为并最终失败.
让我们看看使用NerdTree和MiniBufExplorer作为始终打开的窗口的问题:
<c-w>b.在此窗口中通过NerdTree打开文件.你有没有用到<c-w>t最左上方的窗口?使用如此多的窗口命令打开文件感觉非常细微差别<c-w>J或<c-w>H.看看它如何搞砸你的布局:bnext和:bprev命令轻松切换缓冲区正如Vimcast帖子中所述,油和醋 - 分割窗口和项目抽屉,Vim更喜欢在需要时打开文件浏览器,然后在不需要时切换它.您也可以以这种方式使用NerdTree,只需忘记文件浏览器位.还有其他方法可以在vim中打开文件:
<tab>,等命令使用文件完成:e:sp<c-d>而不是<tab>获取完成列表:e和:sp命令采取全局.例如:e *.c和:e foo/**/bar.c:find和设置'path'和'suffix'选项gf 将转到光标下的文件有很多方法可以在Vim中切换缓冲区:
:b并:sb获取缓冲区数字以及将完成和glob的名称:ls看你的缓冲区的列表,然后使用:b直接切换<c-6> 将去往前一个缓冲区:bnext和:bprev例子[b和]b有Unimpaired.vim映射set hidden使切换缓冲区更容易.不要担心,如果您在退出之前有未写入的缓冲区,vim会通知您Vim很开心.确保尽可能有效地使用拆分.有许多拆分命令,请参阅:h opening-window.更好的是阅读整个:h window帮助文件,那里有很多宝藏.