簡體   English   中英

Vim:在新標簽頁中打開每個緩沖區

[英]Vim: Open each buffer in a new tab

我想知道如何在新選項卡中的vi(m)中打開所有當前緩沖區。 我知道您可以編輯vimrc文件來執行類似的操作,但是我更希望能夠在需要時運行命令。 我可以通過鏈接新選項卡並打開緩沖區命令來手動完成操作,例如:

:tabnew | b 1

但是我更喜歡一種自動的方法。

要走的路是:

:tab sball

從幫助中:

“ sball:重新排列屏幕以為緩沖區列表中的每個緩沖區打開一個窗口...使用|:tab |修飾符時,將在新選項卡中打開新窗口,最高可達'tabpagemax'。”

沒有|:tab | 修飾符,它將在拆分視圖中打開每個緩沖區。

:sball

或最多打開其中6個

:6sball

等等

您可以為此命令分配一個映射:

:bufdo tab split
  • 說明:
    • bufdo [command]將[command]應用於所有緩沖區
    • 制表符拆分使用當前緩沖區並用它打開一個制表符

最后,將其映射:

map ,bt :bufdo tab split<CR>

打招呼

[我會對上面接受的答案發表評論,但沒有足夠的代表積分。]

對我來說,如果它們是以前從未查看過的緩沖區,那么可接受的答案將使新選項卡不突出顯示語法。 (要重現-選擇多個XML文件,請在Windows資源管理器中選擇“使用Single Vim編輯”,然后從中進行嘗試。)我不知道為什么會這樣,所以我的解決方案是再次打開語法高亮顯示。

我還發現最后一個緩沖區以兩個選項卡結尾很煩人,所以我的解決方案是移到最后一個選項卡並關閉它。

:bufdo tab split
:tablast
:tabclose
:syntax on

因此,在映射中

:map ,bt :bufdo tab split<CR>:tablast<CR>:tabclose<CR>:syntax on<CR>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM