代码之家  ›  专栏  ›  技术社区  ›  Martin Blech

如何让vim打开所有与不同选项卡中的模式匹配的文件?

  •  19
  • Martin Blech  · 技术社区  · 14 年前

    在给定的工作目录中,

    :tabe **/test*.py
    

    vim 抱怨 E77: Too many file names . 如果我希望它在一个单独的选项卡中打开每个匹配的文件怎么办?一定有办法,但我找不到。

    3 回复  |  直到 12 年前
        1
  •  31
  •   nicholas a. evans    14 年前

    你可以用 args 列表和 argdo 像这样:

    :args **/test*.py
    :argdo tabe %
    

    但是,语法事件被关闭 阿尔多 (为了加快正常的用例速度),因此首先将不使用语法加载文件。你可以用一个 :syntax on 在所有加载的缓冲区上强制执行语法事件。压缩成一行(需要包装 阿尔多 在里面 execute 所以它不能吸收以下内容 | ):

    :args **/test*.py | execute 'argdo tabe %' | syntax on
    

    或者,您可以通过以下方式从命令行打开VIM:

    vim -p **/test*.py
    

    但最多10个标签。

        2
  •  8
  •   Alex    12 年前

    您可以使用以下内容:

    :next **/test*.py
    

    它打开所有文件。

        3
  •  1
  •   rofrol    12 年前

    绘制地图

    nmap <c-d> :args **/*.tpl<bar>execute 'argdo tabe %'<bar>syntax on<cr>
    

    但它仍然显示文件列表,您必须按Enter几次(取决于文件的数量)。