Vim:向左/向右移动窗口?

Dav*_*ver 201 vim

在Vim中,是否可以向左或向右"移动"窗口?例如,类似于<c-w> r或<c-w> x,但是左/右而不是上/下?

例如,如果我有这个布局:

+---+---+---+
|   |   +---+
| A +---+---+
|   |   |   |
+---+---+---+
Run Code Online (Sandbox Code Playgroud)

我想把它变成这样:

+---+---+---+
|   |   +---+
+---+ A +---+
|   |   |   |
+---+---+---+
Run Code Online (Sandbox Code Playgroud)

这很难/很烦人<c-w> {H,J,K,L}.

Ric*_*ano 406

Ctrl W 为您提供"Windows命令模式",允许以下修饰符:

  • Ctrl W+ R- 向上/向左旋转窗口.

  • Ctrl W+ r- 向下/向右旋转窗口.

您还可以使用带有导航键的"Windows命令模式"来更改窗口的位置:

  • Ctrl W+ L- 将当前窗口移动到"最右边"

  • Ctrl W+ H- 将当前窗口移动到"最左侧"

  • Ctrl W+ J- 将当前窗口移动到"非常底部"

  • Ctrl W+ K- 将当前窗口移动到"非常顶部"

查看:help window-moving更多信息

  • @David Wolever,在这种情况下你需要使用大写字母,比如:Ctrl-W + Shift-L.我想这可能就是你要找的东西. (10认同)
  • @ ostler.c创建一个垂直分割,然后在其中一个列中创建一个水平分割.现在使用<cw> r,它只循环一个垂直分割中的两个窗口. (3认同)
  • `<cw> r`只能垂直旋转. (2认同)

fab*_*sta 54

这个对我来说最有用(可能是问题的正确答案):

  • Ctrl W+ xOR Ctrl W+ Ctrl x- 使用最右边的窗口旋转当前聚焦窗口.


Bit*_*oet 7

您想移动窗口本身还是仅移动光标位置?

在您已经提到过的旋转或骑行之后,只能将窗口本身移动到远端,底部,左侧或右侧,分别为:

^W K
^W J
^W H
^W L
Run Code Online (Sandbox Code Playgroud)

我认为没有一种默认的内置方式可以将窗口向右移动一个位置.

  • 如果可以的话,我会拒绝@Bitterzoet的评论。查看以上答案 (2认同)