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。
我让标签栏和 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。