我在想如何在新选项卡中打开vi(m)中的所有当前缓冲区。 我知道你可以编辑你的vimrc文件来做这样的事情,但我更希望能够在需要时运行一个命令。 我可以通过链接在新标签和开放缓冲区的命令,比如做手工:Vim:在新选项卡中打开每个缓冲区
:tabnew | b 1
但我宁愿更自动化的方法。
我在想如何在新选项卡中打开vi(m)中的所有当前缓冲区。 我知道你可以编辑你的vimrc文件来做这样的事情,但我更希望能够在需要时运行一个命令。 我可以通过链接在新标签和开放缓冲区的命令,比如做手工:Vim:在新选项卡中打开每个缓冲区
:tabnew | b 1
但我宁愿更自动化的方法。
你可以指定一个映射到这个命令:
:bufdo tab split
最后,映射这样的:
map ,bt :bufdo tab split<CR>
迎接
要走的路是:
:tab sball
从帮助:
“sball:重新排列屏幕,在缓冲区列表中为每个缓冲区打开一个窗口...当|:tab |时改性剂的新窗口在新标签页打开,超过“tabpagemax”“
没有|:标签|改性剂,它在拆分视图中打开每个缓冲区
:sball
或打开。他们中的大多数6
:6sball
等
[我会评论上述接受的答案,但没有足够的代表处点。]
对我来说,如果接受的答案是没有语法突出显示的新选项卡,如果它们是以前从未查看过的缓冲区。 (重现 - 选择一些XML文件,选择在Windows资源管理器中使用Single Vim进行编辑,然后从中尝试。)我不知道为什么发生这种情况,所以我的解决方案只是再次打开语法高亮。
我也觉得最后一个缓冲区结束了两个选项卡,所以我的解决方案是移动到最后一个选项卡并关闭它。
:bufdo tab split
:tablast
:tabclose
:syntax on
所以在映射,
:map ,bt :bufdo tab split<CR>:tablast<CR>:tabclose<CR>:syntax on<CR>
不要忘了隐约体育冠冕堂皇的“垂直球”分裂关于y轴。 – 2015-09-27 18:57:30
一些vim命令确实变得非常有趣:) – sehe 2015-09-27 18:58:58
出于某种原因':tab sball'也将我当前的选项卡分成5个不同的水平分割。奇怪的...... – sixtyfootersdude 2016-02-02 21:55:51