我在想如何在新選項卡中打開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