題 如何讓vim一次打開多個文件到標籤中


是否有可能讓vim將多個文件打開到選項卡中,類似於 args <path> 命令會將多個文件打開到緩衝區?

做點什麼 :tabe ./* 導致錯誤“E77:文件名太多”,即使文件數小於該中設置的值 tabpagemax 屬性。

(我相信 vim -p <files> 選項將在選項卡中打開,但我希望在vim已經打開時找到一種方法。)


79
2017-08-04 06:37


起源


謝謝你提到-p選項;這就是我在尋找的東西 - user72923
我通過谷歌發現了這個問題。我一直在尋找如何使用命令行中的選項卡打開vim, vim -p 是我在尋找:-) - Rocket Hazmat
有關: 如何一次打開多個標籤? 在Vim SE - kenorb
有關: 使用VIM在新選項卡中打開多個文件 在Stack Overflow。 - Mihai Capotă
有關: 如何在vim中為許多文件打開許多選項卡? 在超級用戶。 - Mateusz Piotrowski


答案:


:tab all

將在各個選項卡中打開Vim參數列表中的所有文件。參數列表最初設置為啟動Vim時命令行上給出的文件名列表。列表可能會隨著更改而更改 :args 和相關的命令。看到

:help :all
:help argument-list

例:

:args *.c
:tab all

將打開各個選項卡中當前目錄中的所有.c文件。


78
2017-08-04 07:19



我不確定這是如何工作的。如果我想打開當前目錄中的所有.txt文件,我會輸入什麼?如果我進入 :tab all *.txt,帶有“E488:尾隨字符”的vim計數器 - Ash
我編輯了答案以澄清“論據”的含義。我的意思是Vim的參數列表,而不是參數 :tab all。 - garyjohn
我不知道可以做到這一點的單個命令,但你可以通過用垂直條分隔它們將兩個命令放在一行上,如下所示: :args *.c | tab all。 - garyjohn
缺點是使用 :tab all 替換現有標籤。因此,在我的用例中,它沒有提供重新打開文件的好處 vim -p。但是,如果有某種方法可以填充現有標籤 :args,可以打開新標籤並保留現有標籤。 - Kevin Qi
如果選項卡已打開,請替換 argadd 對於 args。 - cdosborn


實際上,您可以打開新選項卡並保留當前選項卡而無需編寫新功能。在Stack Overflow上看到這個答案: https://stackoverflow.com/a/11430615/200234

:args file1 file2 | argdo tabe

您可能想要打開一個新的空標籤(:tabe)在此之前,因為第一個文件將在當前選項卡中打開。此外,還會打開一個額外的空標籤(請參閱 :help argdo 了解原因)。


4
2018-03-26 15:44