61

Is it possible to select multiple non-consecutive lines (or sections) in VIM's visual mode? If so, how?

4

3 回答 3

68

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

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

  • 要启动“累积缓冲区”:
    • 在可视模式下标记要复制的部分,
    • 按下以使用下一个命令"a对缓冲区进行操作,然后a
    • 像往常一样拉它(y)。
  • 要添加到该缓冲区:
    • 标记下一部分并
    • "A (大写缓冲区名称意味着“不要覆盖缓冲区,而是附加到它”)
    • 并再次使用y.
  • a然后,您可以随时使用粘贴累积的缓冲区"ap
于 2009-10-22T16:03:42.550 回答
29

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

于 2009-10-22T16:05:56.940 回答
27

一个更新的答案是这个插件

(免责声明:我个人实际上并没有使用它,它对我的​​其余 vim 设置干扰太大。如果您的 vim 相对干净并且您正在从 sublime 移动,这肯定是您的一杯茶。)

我还想指出 vim 的记录/回放功能(q关键)。很多时候记录也是不必要的,我可以通过迭代来完成通常使用 sublime 的多选完成的任务(例如搜索某些东西,在它的第一个实例上执行修复,然后通过点击nN移动来实现后续重复并.重复编辑操作)。

我确实有我的,逗号键nnoremap'd to @q,这会重复按qq(记录到q寄存器中)记录的序列。

于 2013-05-15T15:06:06.410 回答