如何在Vim中切换窗口

7

我正在使用Vim编辑器,但是我无法通过默认绑定键 <ctrl+w> j 切换到其中一个窗口。我已经打开了三个窗口,但右下角的窗口无法访问。为什么会这样呢?enter image description here


6
看起来你在vim内打开了一个终端,在vim内部。对于新版vim中的终端工作方式,我不太熟悉,但我怀疑它们与常规缓冲区有一些不同。 - Randy Morris
刚刚验证了一下 @RandyMorris,如果在 vim 中打开 vim:terminal,然后分割窗口,<esc><ctrl>w 命令将跳过分割并在主 vim 和 :terminal 的第一个窗口之间跳转。 - DC Slagel
2个回答

8

<ctrl> + w + w 对我有用。

如果你使用 :sp 或者 :vsp 命令来切割窗格,<ctrl> + w + w 可以让你在它们之间进行导航。


4

看起来你已经采取了与以下类似的行动

vim <some-file>
:vs <some-other-file>
<C-w> l     // to get to the right window
:term       // to open up a terminal session within right right window
<C-w> j     // to move to the bottom right window (a normal vim window)
:q
vim <file>  // within the terminal inside the right vim window
:sp <file>  // split that window

现在看起来好像你有三个vim窗口,但实际上你有四个:

  • 两个外部窗口(左侧和右侧终端会话)
  • 两个内部窗口在右侧窗口的终端会话中

这是一个非常危险的位置,因为无论你在左边还是右边的外部会话中,外部的buffer(如果我用错了请纠正我)总会以某种原因捕获<C-w>控制字符。

您可以通过查看按下<C-w>时屏幕上的显示位置来查看此情况。如果我正确复制了您的环境,则它显示在底部右侧buffer的右窗口下方

作为解决方法,您需要使用以下内容而不是使用<C-w>来进行窗口导航:

:winc j

要导航到右下窗口。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接