【问题标题】:How to open and split multiple files如何打开和拆分多个文件
【发布时间】:2020-05-18 19:52:27
【问题描述】:

如何在拆分窗口中打开多个文件。如果我不清楚,请为每个文件拆分一次。

我想做类似的事情。 :sp app/views/*.erb 并让 ~7 个文件都在各自的拆分窗口中打开。

【问题讨论】:

    标签: vim


    【解决方案1】:

    实际上不是来自 vim,但也许你可以像这样运行 vim:

    vim -o app/views/*.erb
    

    【讨论】:

    • -O 而不是-o 用于垂直分割。
    • 对两个以上的文件不起作用。将-o-O 与三个文件一起使用:第一个文件打开两次,第二个文件打开一次,第三个文件不打开。 Vim 7.4。
    • 在 Vim 7.3.429 上运行良好
    • 是否可以让 vim 默认做到这一点?当前我有一个别名可以做到这一点。
    • 在 vim 7.4.629 和 vim 7.3.646 中为我工作。非常好,谢谢。
    【解决方案2】:

    刚从 tonymec@#vim 学到你可以做到的

    :args app/views/*.erb | all
    

    用于水平分割或

    :args app/views/*.erb | vertical all
    

    垂直。

    【讨论】:

    • 有效。你能解释一下这是如何工作的吗?不知道为什么我需要使用“args。对此进行扩展以使用新选项卡将不胜感激(idk 如何将:tab 修饰符“传递”给所有人)
    • 当时我从某人那里得到了代码,但我从未深入研究过它的工作原理。如果你弄明白了(可能使用:help args 等等),请在评论中分享! :)
    • 解释:vim 记住所有在启动时打开的文件。这称为 argslist。即使您从 vim 中打开其他文件,argslist 也保持不变。在这里,argslist 是通过 vim 设置的,使用 args(参见 args_f)。接下来(它是下一个命令,因为我们使用竖线分隔它(参见 :bar))我们使用 all 一次查看 argslist 中的所有文件。 Vim 过去只有水平分割(只是更容易实现),所以分割默认是水平分割。这就是为什么vertical存在的原因,它只是执行一个命令,但是用垂直分割代替了水平分割。
    【解决方案3】:
    vim -O app/views/*.erb
    

    这也是来自shell。它将作为垂直拆分打开。

    【讨论】:

      【解决方案4】:

      当你这样做时会发生什么

      :sf app/views/*.erb
      

      在 vim 中?

      【讨论】:

      【解决方案5】:

      必须创建一个函数。

        fun! OpenSplits(dir)
          for f in split(glob(a:dir), '\n')
            execute "sp " f
          endfor
        endfun
      

      【讨论】:

        猜你喜欢
        • 2020-08-13
        • 2011-10-04
        • 1970-01-01
        • 2019-07-10
        • 1970-01-01
        • 2012-03-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多