如何获取Vim一次将多个文件打开到选项卡


85

是否可以使vim将多个文件打开到选项卡中,类似于该args <path>命令将多个文件打开到缓冲区中的方式?

进行类似操作会:tabe ./*导致错误“ E77:文件名过多”,即使文件数小于tabpagemax属性中设置的值也是如此。

(我相信该vim -p <files>选项将在选项卡中打开,但我希望找到一种在vim已打开时执行此方法的方法。)


12
感谢您提到-p选项;那就是我一直在寻找的东西
user72923

4
我通过Google找到了这个问题。我一直在寻找如何从命令行使用选项卡打开vim,vim -p这就是我一直在寻找的东西:-)
Rocket Hazmat 2014年



Answers:


82
:tab all

将在单个选项卡中打开Vim参数列表中的所有文件。参数列表最初设置为启动Vim时在命令行上给出的文件名列表。可以使用:args和相关命令更改列表。看到

:help :all
:help argument-list

例:

:args *.c
:tab all

将在各个标签中打开当前目录中的所有.c文件。


我不确定这是如何工作的。假设我要打开当前目录中的所有.txt文件,我将输入什么?如果输入:tab all *.txt,vim会以“ E488:尾随字符”反击
Ash,2010年

我编辑了答案以阐明“参数”的含义。我的意思是Vim的参数列表,而不是的参数:tab all
garyjohn

1
我不知道有哪个命令可以做到这一点,但是您可以将两个命令放在一行中,方法是使用竖线将它们分开,如下所示::args *.c | tab all
garyjohn

9
缺点是使用会:tab all替换您现有的标签。因此,在我的用例中,与用重新打开文件相比,它没有太大的好处vim -p。但是,如果有某种方法可以将现有标签填充到中:args,则可以打开新标签并保留现有标签。
凯文·齐

3
如果一个标签已经打开,替代argaddargs
cdosborn

4

实际上,您无需编写新功能就可以打开新标签页并保留当前标签页。请参阅堆栈溢出的以下答案:https : //stackoverflow.com/a/11430615/200234

:args file1 file2 | argdo tabe

您可能需要先打开一个新的空白标签(:tabe),因为第一个文件将在当前标签中打开。同样,一个额外的空白标签将保持打开状态(请参阅:help argdo以了解原因)。


如果您要向现有集合添加新标签,那么这样做就容易:tabe file1吗?
jpaugh

@jpaugh,问题是关于多个文件。
MihaiCapotă

:args | argdo tabe但是,不会回答这个问题吗?以这种方式添加新文件的原因是什么?
jpaugh

@jpaugh,这是问题的要求:“我相信vim -p <files>选项将在选项卡中打开,但我希望找到一种在vim已打开时执行此操作的方法。”
MihaiCapotă
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.