Vim 函数在拆分之间切换

Vim function to switch between splits

我正在尝试找到一个函数,该函数将在 vim 的拆分视图中切换回原始 window。我知道快捷方式,我也知道函数 :call cursor。但是有没有一个函数可以让我切换回之前的拆分 window 以便我可以将它粘贴到我的 vim 函数中?

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

有关更多信息,该文档始终是一本极好的读物:

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

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

在正常模式下,当您更改 window 时,您可以使用 Ctrlw + p 回到之前的 window。所以在 vimscript 中你只需使用:

wincmd p

返回上一个window。

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