【问题标题】:Copy conditional statements in vim在 vim 中复制条件语句
【发布时间】:2015-04-01 23:24:23
【问题描述】:

是否有一个简单的键盘快捷键可以在 vim 中复制条件语句?我有类似的 if 条件

  1: if (some condition) {
  2:     // do many things in multiple lines
100: }

通过将光标放在第 1 行键入 y%,将第 2 行复制到第 100 行。有没有办法从第 1 行复制到第 100 行?我试过ya%yi%,但没有任何帮助。我也可以使用标记复制或记下行号,但这是一项耗时的任务。其他条件语句也有类似的要求。

【问题讨论】:

    标签: vim editor vi


    【解决方案1】:

    通常我所做的是将光标放在{ 上,然后执行V%y(注意大写的“V”)。

    如果周围有空行但 if 语句中没有空行,您可以使用yap 来拉动段落。不过,这是一个很大的“如果”。

    虽然可能不是最好的方法。

    【讨论】:

      【解决方案2】:

      您可以使用va{vaB,然后使用:'<,'>y(自动为您插入范围)。

      或者vaB,然后V 将“视觉”选择变成“视觉线”选择,然后y

      坚持使用 ex 命令,您可以从 if 行执行 :,/^}/y 或从条件中的某处执行 :?if?,/^}/y

      此外,如果您可以将条件折叠成单行,则可以使用简单的yy 拉出关闭折叠内的所有行。

      【讨论】:

        猜你喜欢
        • 2021-11-26
        • 2010-12-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-06-18
        • 1970-01-01
        相关资源
        最近更新 更多