![如何在 Vim 中为所有缓冲区打开单独的选项卡/窗口?](https://linux22.com/image/1286512/%E5%A6%82%E4%BD%95%E5%9C%A8%20Vim%20%E4%B8%AD%E4%B8%BA%E6%89%80%E6%9C%89%E7%BC%93%E5%86%B2%E5%8C%BA%E6%89%93%E5%BC%80%E5%8D%95%E7%8B%AC%E7%9A%84%E9%80%89%E9%A1%B9%E5%8D%A1%2F%E7%AA%97%E5%8F%A3%EF%BC%9F.png)
如何轻松地在单独的窗口/选项卡中打开当前的 vim 缓冲区/参数?
我知道:
$ vim one.txt two.txt three.txt -O
但是,如果我只是用以下命令启动 vim:
$ vim one.txt two.txt three.txt
一旦我启动了 vim,我该如何复制这种行为?
答案1
要拆分所有缓冲区,请使用:sba
或:vert sba
答案2
Vim 命令:sba
也有一个快捷方式::ba
。
:[N]ba[ll] [N] :[N]sba[ll] [N] 重新排列屏幕,为缓冲区列表中的每个缓冲区打开一个窗口。
要返回单个标签,请使用:( :on
) :only
。
:on[ly][!] 使当前窗口成为屏幕上的唯一窗口。所有其他窗口均关闭。
要退出,请使用::qa
也可以看看:如何将所有窗口转换为水平、垂直或选项卡分割?在 Vim SE
答案3
如何将缓冲区转换为窗口/选项卡:
- 缓冲区 > 水平窗口:(
:ba
缓冲全部) - 缓冲区 > 垂直窗口:(
:vert ba
垂直缓冲全部) - 缓冲区 > 标签:(
:tab ba
标签缓冲区全部)
如何将窗口/选项卡转换为缓冲区:
- windows > buffers:
:on
,:only
(仅限当前窗口) - 标签 > 缓冲区:
:tabo
,:tabonly
(仅限当前标签)
如果要将所有窗口转换为选项卡,请先将窗口转换为缓冲区,然后将缓冲区转换为选项卡:
:on | tab ba
答案4
回答我自己的问题的一部分:
如何在单独的窗口/选项卡中轻松打开当前的 vim缓冲区/参数?
:tab all