Vim功能可在分割之间切换

SUB*_*SUB 6 vim vim-plugin

我正在尝试找到一个函数,它将在vim的拆分视图中切换回原始窗口.我知道快捷方式,我也知道函数:调用游标.但是有没有一个函数可以让我切换回上一个分割窗口,所以我可以把它粘在我的vim函数中?

sta*_*tox 8

在vimscript中,您可以使用:

" Save the window where you are currently
let l:currentWindow=winnr()

" Do stuff where you change of window

" Go back to the original window
exe l:currentWindow . "wincmd w"
Run Code Online (Sandbox Code Playgroud)

有关更多信息,该文档始终是一个很好的阅读:

编辑另一种方法是使用wincmd p:

wincmd是vimscript等效Ctrlw于正常模式.

在正常模式下更改窗口时,您可以使用Ctrlw+ p返回上一个窗口.所以在vimscript中你只需使用:

wincmd p
Run Code Online (Sandbox Code Playgroud)

要返回上一个窗口.

当然,如果你的函数的其余部分使用超过2个拆分,你将不会回到初始窗口,但如果你只有两个拆分,它可能比使用变量来保持窗口数量更轻.

  • @SUB升级......(Vim 6.4差不多10年前问世) (2认同)