【问题标题】:How to select from line to line in vi?如何在vi中逐行选择?
【发布时间】:2019-02-18 18:33:34
【问题描述】:

我经常想在 vi 中选择多行。例如从第 1 行到第 10 行。

所以,当我想逐行跳转时,我通常会输入:110 以跳转到110 行,例如

而且,当我想逐行选择时,我通常按v 进入可视模式,然后我只需使用kl 向下滚动。

所以,直观地说,我只需按v,然后输入:<line number>。但这不起作用。

如何在vi中从X行选择到Y行?

【问题讨论】:

  • 在 vi 中还是在 Vim 中?

标签: text vim text-editor vi


【解决方案1】:

假设您要突出显示第 10 行到第 20 行。您可以使用:

10GV20G

细分:

  • 1010 输入缓冲区
  • G 转到缓冲区中的行号
  • V进入视线模式
  • 2020 输入缓冲区
  • G 转到缓冲区中的行号

注意 G 表示 Shift+g(大写G)。

源和: 命令是here

【讨论】:

    【解决方案2】:

    选择本身没有意义;您通常希望在选择上调用命令。许多对视觉选择起作用的命令都有相应的Ex 命令。这样,如果您已经知道确切的范围,则无需通过视觉模式。视觉模式的最大好处是,如果没有单个动作或文本对象,您可以交互和迭代地调整所选区域。

    :help :range 的好处是您可以简洁地指定行。例如,第 110 到 120 行可以写成:110,120,也可以写成:110;+10

    【讨论】:

      【解决方案3】:

      如果同时设置数字和相对数字,则很容易看到目标结束线。

      :set number relativenumber
      

      所以,假设你在第 10 行,目标行显示 11,你以大写 V 开始选择,然后按 11j

      V11j
      

      如果您的块前后有空行,只需输入 vip(视觉内段)

      【讨论】:

        【解决方案4】:

        简单按一下 Shift v 行号 gg

        示例:您的当前行到第 41 行 只需按 Shift v 41 gg

        注意:您可以通过按行号 gg

        移动到选定的行

        【讨论】:

          猜你喜欢
          • 2010-09-20
          • 1970-01-01
          • 1970-01-01
          • 2011-11-24
          • 1970-01-01
          • 1970-01-01
          • 2021-10-21
          • 1970-01-01
          • 2021-07-07
          相关资源
          最近更新 更多