我正在尝试编写一个关闭树形浏览器的命令(vim 树) 窗口并调整其他窗口的大小。
,to
打开窗口并调整窗口大小,以便所有打开的窗口保持正常大小(使用:set columns+=30
CTRL-W =
)。
,tc
应该关闭树窗口(全长,最左边)并调整主窗口大小(:set columns-=30
)。
我如何编写一个命令来关闭最左边的窗口这样我就可以,tc
一次性输入关闭窗口和调整大小的内容?
- 我可以使用 导航到它,但是在命令中
CTRL-W h
使用它并不雅致并且可能会令人讨厌(会发出铃声!) 。10CTRL-W h
:topleft c
不幸的是,它不起作用。
你能想到一个优雅的方法来做到这一点吗?
答案1
如果窗口最左边确实是全长,则它的窗口编号为 1,因此这样的映射应该有效:
:nmap ,tc :exe '1wincmd w' | close<CR>
这会跳转到第一个窗口,然后关闭它。缺点是活动窗口将变为原来的窗口号 2(当原来的窗口号 1 关闭时,它将变为窗口号 1),而不是您上次所在的窗口。
不幸的是,:1wincmd c
没有关闭第一个窗口,因为ctrl-w c不接受计数,所以我看不到避免首先移动到要关闭的窗口的方法。
2017年编辑:自从我写了这个答案以来,ctrl-w c在较新版本的 Vim 中确实接受了计数,所以答案只是使用:1wincmd c
,它不会将光标从活动窗口中切换出去:
:nmap ,tc :1wincmd c<CR>