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


0

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

,to打开窗口并调整窗口大小,以便所有打开的窗口保持正常大小(使用:set columns+=30CTRL-W =)。

,tc应该关闭树窗口(全长,最左边)并调整主窗口(:set columns-=30)的大小。

如何编写一个关闭最左边窗口的命令,以便我可以键入,tc以关闭窗口并一次调整大小?

  • 我可以导航到它CTRL-W h,但它不够优雅,并且可能10CTRL-W h在命令中使用(听得见!)。
  • :topleft c 不幸的是不起作用。

你能想到一个优雅的方式吗?


你确定铃声来自10CTRL-W h命令吗?我只是尝试了它并没有为我生成铃,而其他命令(例如,h当光标在第1列时)。
garyjohn

@garyjohn - 我会试一试,但它仍然不优雅!;)
露台

Answers:


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>
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.