使用文件列表在 Vim 中打开多个文件

use*_*057 4 bash vim

我有一个包含以下几行的文件“filelist”:

text1.txt
text2.txt
text3.txt 
Run Code Online (Sandbox Code Playgroud)

我正在寻找在 vim 中打开 3 个文件的命令行调用。我尝试了以下方法:

$ cat filelist | vim - 
Run Code Online (Sandbox Code Playgroud)

$ vim < cat filelist
Run Code Online (Sandbox Code Playgroud)

但那些不会产生预期的结果。

Mar*_*rco 11

如果文件名不包含空格或其他有问题的字符,您可以使用

vim $(cat filelist)
Run Code Online (Sandbox Code Playgroud)

对于带空格的文件名, usingxargs更健壮(此处使用 GNUxargs特定选项):

xargs --delimiter '\n' --arg-file=filelist vim --
Run Code Online (Sandbox Code Playgroud)

  • `$(…)` 与反引号相同,但更强大一点,因为它们不能与单引号或其他类似的字符混淆,并且可以嵌套。 (2认同)