vimrc: 如何在加载 vim 时自动更改 window 焦点

vimrc: how to auto change window focus when vim is loaded

我让标签栏和 NERDtree 在 vim 打开任何文件时自动加载。 window布局从左到右为:

NERDTree----My source code----TagBar

问题是,每次 vim 启动时,左侧的 NERDtree 都会获得焦点(键盘)。我想让中间的window(我的源代码)有焦点,这样我就可以马上开始编码了。否则我必须 C-w l 每次切换 windows。

如何在 ~/.vimrc 中设置?

非常感谢。

这有点棘手,因为我不知道在你的启动序列中,什么时候加载了所有三个缓冲区。如果你使用 Vim8,你可以在定时器上执行 wincmd。这对我有用:

call timer_start(100, { -> execute( "wincmd l") })

插件可能使用 :autocmd VimEnter 打开侧边栏。您可以定义类似的 autocmd,但它必须 运行 插件之后。

将以下内容放入 ~/.vim/after/plugin/middleWindow.vim:

autocmd VimEnter * 2wincmd w

这将转到第二个可用 window。