如何在Vim中将当前窗口从水平分割切换到垂直分割,反之亦然?

我刚才不小心打开了,但现在找不到钥匙了。


当前回答

Ctrl-w后跟H, J, K或L(大写)将把当前窗口分别移动到最左,最下,最上或最右,就像正常的光标导航一样。

小写的等价值移动焦点而不是移动窗口。

其他回答

当您有两个或多个窗口水平或垂直打开,并希望将它们全部切换到其他方向时,您可以使用以下方法:

(切换到水平)

:windo wincmd K

(切换到垂直方向)

:windo wincmd H

它有效地分别到每个窗口使用^WK或^WH。

按照上面Mark Rushakoff的建议,下面是我的地图:

" vertical to horizontal ( | -> -- )
noremap <c-w>-  <c-w>t<c-w>K
" horizontal to vertical ( -- -> | )
noremap <c-w>\|  <c-w>t<c-w>H
noremap <c-w>\  <c-w>t<c-w>H
noremap <c-w>/  <c-w>t<c-w>H

编辑:使用ctrl - wr切换两个窗口,如果他们不是在良好的顺序。

下面的ex命令将(重新)分割任意数量的窗口:

要垂直分割(例如在窗口之间做垂直分隔),输入:vertical ball 要水平拆分,输入:ball

如果存在隐藏缓冲区,发出这些命令也将使隐藏缓冲区可见。

Ctrl-w后跟H, J, K或L(大写)将把当前窗口分别移动到最左,最下,最上或最右,就像正常的光标导航一样。

小写的等价值移动焦点而不是移动窗口。

在VIM中,看一下下面的内容,看看你可能已经做了什么:

:帮助形成通信

例如:

Ctrl-W年代 Ctrl-W o Ctrl-W v Ctrl-W o Ctrl-W年代 ...