代码之家  ›  专栏  ›  技术社区  ›  Marcin

VIM中的多项选择

  •  60
  • Marcin  · 技术社区  · 15 年前

    在VIM的视觉模式下,是否可以选择多条非连续线(或区段)?如果是这样,怎么办?

    3 回复  |  直到 15 年前
        1
  •  27
  •   Michael Dillon    15 年前

    您必须安装multisect插件才能获得此功能。在这里找到: http://www.vim.org/scripts/script.php?script_id=953

        2
  •  64
  •   soulmerge    10 年前

    不,没有插件这是不可能的。

    但是,如果解决了问题,您可以将多行复制到同一个缓冲区中。

    • 要启动“累积缓冲区”,请执行以下操作:
      • 在可视模式下标记要复制的节,
      • "a 在缓冲器上操作 a 下一个命令和
      • 像往常一样猛拉它( y )
    • 要添加到该缓冲区,请执行以下操作:
      • 标记下一节并
      • "A (将缓冲区名称大写表示“不要覆盖缓冲区,改为附加到缓冲区”)。
      • 然后用 Y .
    • 然后可以粘贴累积的缓冲区 随时使用 "ap .
        3
  •  24
  •   Steven Lu    11 年前

    最新的答案是 this plugin .

    (免责声明:我个人并不实际使用它,它干扰了我的VIM设置的其余部分。如果你的身体比较干净,而且你正从崇高的地方转移过来,这肯定是你的一杯茶。)

    我还想指出VIM的记录/回放功能 q 键)。通常情况下,记录也是不必要的,我可以通过反复进行Sublime的多重选择来完成通常要完成的任务(例如,搜索某个对象,对其第一个实例执行修复,然后通过点击来完成后续的重复 n N 四处走动 . 重复编辑操作)。

    我有我的 , 逗号键 nnoremap D到 @q ,这将重复通过按录制的序列。 qq (记录到 Q 注册)。