如何关闭 Vim 中最左边的窗口?

如何关闭 Vim 中最左边的窗口?

我正在尝试编写一个关闭树形浏览器的命令(vim 树) 窗口并调整其他窗口的大小。

,to打开窗口并调整窗口大小,以便所有打开的窗口保持正常大小(使用:set columns+=30CTRL-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>

相关内容