关于文件:如何将find的结果传递给vim的argadd命令

How to pass the result of find to vim's argadd command

我之前发现并发布了如何使用:argadd而不是:badd加载多个缓冲区。不过,我还想添加与某个模式匹配的所有子目录的所有文件。我目前的尝试是这样的:

1
:argadd !find . -name *.js -type f

但这又增加了

1
2
3
4
5
6
 51     "!find"                        line 1
 52     "~/Documents/neuro-sim/website/3.0" line 1
 53     "-name"                        line 1
 54     "*.js"                         line 1
 55     "-type"                        line 1
 56     "f"                            line 1

到缓冲区。我必须做什么修改才能使这个工作正常进行?


但是你为什么不做呢

1
:args **/*.js

(是的,我知道你不能这样过滤文件…)

高温高压


您需要使用backticks"`"来评估查找结果并将其插入args。我同意不使用"!"确实很奇怪。但我认为这是为了处理流缓冲区而不是参数…

1
:arga `find . -name '*glob_pattern*'`