![Vim:如何让缓冲区在窗口调整大小时自动均匀分割空间](https://linux22.com/image/1503005/Vim%EF%BC%9A%E5%A6%82%E4%BD%95%E8%AE%A9%E7%BC%93%E5%86%B2%E5%8C%BA%E5%9C%A8%E7%AA%97%E5%8F%A3%E8%B0%83%E6%95%B4%E5%A4%A7%E5%B0%8F%E6%97%B6%E8%87%AA%E5%8A%A8%E5%9D%87%E5%8C%80%E5%88%86%E5%89%B2%E7%A9%BA%E9%97%B4.png)
现在,当我在 vim 中将窗口大小放大时(从终端运行),一个缓冲区会占用所有额外空间,而另一个缓冲区则被挤得满满的。有没有办法自动调整缓冲区大小,以便每个缓冲区占用窗口大小的一半(或 N 个缓冲区占用 1/N 的空间)。
答案1
好问题!我以前从来没有想过这个问题,但现在想想,同样的事情也困扰着我!
您可以使用组合键ctrl-w=将所有分割调整为适当的大小。从:help CTRL-W_=
*CTRL-W_=*
CTRL-W = Make all windows (almost) equally high and wide, but use
'winheight' and 'winwidth' for the current window.
Windows with 'winfixheight' set keep their height and windows
with 'winfixwidth' set keep their width.
但是,每次调整屏幕大小时都要这样做很烦人。您可以使用自动命令自动执行此操作:
autocmd WinResize * wincmd =
这样每次你调整 vim 的大小时,它都会自动地帮您按压ctrl-w=,让您无需担心。
我已经确认这在终端和 GUI 版本上都有效。
这是一个很好的设置。事实上,我最终将其添加到我的个人设置中,感谢您提出这个问题!