VIM:按特定顺序打开多个文件

VIM:按特定顺序打开多个文件

因此我想从这个开始:我知道我可以使用、、等打开vim *多个文件vim */file.txtvim directory/*

我正在寻找的是这个用例:

我有一个包含两个文件夹的目录,每个文件夹包含三个文件。我希望按特定顺序打开所有十个文件夹中的四个文件中的两个。可视化:

->a
  |->a
  |->b
  |->c
->b
  |->a
  |->b
  |->c

我希望按以下顺序打开:

a/c
a/a
b/c
b/a

这是最小用例,在实践中,我将其应用于一百多个文件。

答案1

类似这样的事情可能会有效:

TMP=$(mktemp); ARG= ; for d in * ;  do ARG=\"$d/\"{c,a}\ $ARG ;  done ;  echo "vim $ARG" > $TMP ;  . $TMP ;  rm $TMP

创建一个临时文件来保存最终命令。ARG初始化一个变量。for ... do循环按所需顺序创建文件列表到变量中。命令行写入临时文件并从那里获取。关闭编辑器后,临时文件将被删除。

参数的长度是有限的,因此这是一个限制您可以通过这种方式同时打开的文件数量的因素。

相关内容