Vim:在新选项卡中打开每个缓冲区

Vim:在新选项卡中打开每个缓冲区,vim,Vim,我想知道如何在新选项卡中打开vi(m)中的所有当前缓冲区。 我知道您可以编辑vimrc文件来执行类似的操作,但我更希望能够在需要时运行命令。 我可以通过链接新选项卡和打开缓冲区命令手动执行此操作,例如: :tabnew | b 1 但我更喜欢更自动的方法。您可以为该命令指定映射: :bufdo tab split 说明: bufdo[command]将[command]应用于所有缓冲区 选项卡拆分获取当前缓冲区并用它打开一个选项卡 最后,要绘制此图: map ,bt :bufdo t

我想知道如何在新选项卡中打开vi(m)中的所有当前缓冲区。 我知道您可以编辑vimrc文件来执行类似的操作,但我更希望能够在需要时运行命令。 我可以通过链接新选项卡和打开缓冲区命令手动执行此操作,例如:

:tabnew | b 1

但我更喜欢更自动的方法。

您可以为该命令指定映射:

:bufdo tab split
  • 说明:
    • bufdo[command]将[command]应用于所有缓冲区
    • 选项卡拆分获取当前缓冲区并用它打开一个选项卡
最后,要绘制此图:

map ,bt :bufdo tab split<CR>
map,bt:bufdo选项卡拆分
问候

要走的路是:

:tab sball
从帮助中:

sball:重新排列屏幕,为缓冲区列表中的每个缓冲区打开一个窗口…当使用|:tab |修改器时,新窗口将在新选项卡中打开,直到“tabpagemax”

如果不使用|:tab |修改器,它将在拆分视图中打开每个缓冲区

:sball
或者最多打开6个

:6sball

等等。

[我会对上面接受的答案发表评论,但没有足够的代表分数。]

对我来说,如果新选项卡是以前从未查看过的缓冲区,那么接受的答案会使它们没有语法突出显示。(要复制-选择大量XML文件,请在Windows资源管理器中选择“使用单个Vim编辑”,然后从那里尝试。)我不知道为什么会发生这种情况,所以我的解决方案只是再次打开语法高亮显示

我还发现最后一个缓冲区最后有两个选项卡很烦人,所以我的解决方案是移动到最后一个选项卡并关闭它

:bufdo tab split
:tablast
:tabclose
:syntax on
所以在一个映射中

:map ,bt :bufdo tab split<CR>:tablast<CR>:tabclose<CR>:syntax on<CR>
:map,bt:bufdo选项卡拆分:tablast:tabclose:syntax on

别忘了在y轴上拆分的“垂直球”听起来很模糊。出于某种原因,
:tab sball
也在将我的当前选项卡拆分为5个不同的水平拆分。奇怪的…@sixtyfootersdude您可能有某种插件干扰(或者您已经在
:tab
命令之前拆分了windows(这可能发生在脚本中/从命令行)