【问题标题】:How to pass the result of find to vim's argadd command如何将 find 的结果传递给 vim 的 argadd 命令
【发布时间】:2012-02-04 01:30:29
【问题描述】:

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

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

但这增加了

 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

到缓冲区。我必须进行哪些修改才能使其正常工作?

【问题讨论】:

    标签: file vim find


    【解决方案1】:

    但你为什么不这样做

    :args **/*.js 
    

    (是的,我知道你不能以这种方式过滤文件......)

    HTH

    【讨论】:

    • 会递归遍历每个子目录吗?我可以:args /home/user/*.js吗?
    • @puk:不会,但:args **/*.js 会。见:help wildcards
    • 你能把**/*.js放在答案中,然后我会接受这个。
    • 谢谢@Benoit,我想写那个:-)
    • 我的电子礼节太多了。我应该自己编辑它并获得 2 个代表点。
    【解决方案2】:

    您需要反引号“`”来评估查找并将它们插入 args。我同意不使用“!”似乎很奇怪但我认为这是用于处理流缓冲区而不是 args...

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

    【讨论】:

      猜你喜欢
      • 2015-08-03
      • 2017-11-02
      • 1970-01-01
      • 2015-02-17
      • 2022-11-10
      • 1970-01-01
      • 1970-01-01
      • 2015-12-20
      • 2012-09-01
      相关资源
      最近更新 更多