我试图找到一个可以在vim的拆分视图中切换回原始窗口的函数。我知道快捷方式,也知道函数:call cursor。但是是否有一个功能可以让我切换回上一个拆分窗口,以便将其保留在我的vim函数中?

最佳答案

在视频中,您可以使用:

" 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"


有关更多信息,该文档始终是一本好书:


:h wincmd
:h winnr()


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

wincmd是在正常模式下等效于Ctrlw的vimscript。

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

wincmd p


返回上一个窗口。

当然,如果函数的其余部分使用两个以上的拆分,则不会返回到初始窗口,但是如果只有两个拆分,则比使用变量保留窗口的数量要轻。

07-27 15:14