是否可以在vim中关闭窗口并指定哪一个将填充剩余空间?
假设有一个“6-pak”布局并关闭左上方窗口XI想要设置底部窗口(B)将扩展并填充关闭窗口占用的空间而不是右边的那个(A) :
----------------------- //Closing top left window X
| | | |
| X | A | |
| | | |
-----------------------
| | | |
| B | | |
| | | |
-----------------------
----------------------- //The desired result B is expanded upwards
| | | |
| | A | |
| | | |
| B |--------------
| | | |
| | | |
| | | |
-----------------------
----------------------- //Actual result
| | |
| A | |
| | |
-----------------------
| | | |
| B | | |
| | | |
-----------------------
我正在寻找不一定关闭左上窗口的通用解决方案。我想指定任何相邻的窗口来填充当前窗口位置。这可能是关闭中间的底部,并指定右底部扩展。
答案 0 :(得分:2)
尝试以下三个步骤:
关闭左上角的窗口。
:Q
移至左下方窗口。
CTRL-W w CTRL-W w
将左下方的窗口移动到最左侧。
CTRL-w H
然后,您可以将这些命令记录到寄存器中以保存击键,例如,
let @q = ":q^M^Ww^Ww^Ww^WH"
答案 1 :(得分:1)
如果您的光标位于窗口X
:
Ctrl-W j Ctrl-W H Ctrl-W p :q
如果您的光标可能在任何窗口中,请尝试:
Ctrl-W t Ctrl-W j Ctrl-W H Ctrl-W p :q
答案 2 :(得分:1)
您可以在~/.vimrc
中添加以下内容:
map <F2> :q \| wincmd j \| wincmd H <CR>
说明:
map <F2>
- 按 F2 q
- 关闭当前窗口wincmd j
- 转到底部窗口wincmd H
- 将此(当前)窗口移至最左侧 \|
用于组合所有这些命令。
<强>来源强>