VIM中的多个选择

时间:2009-10-22 15:52:55

标签: vim selection

是否可以在VIM的可视模式中选择多个非连续的行(或部分)?如果是这样,怎么样?

3 个答案:

答案 0 :(得分:64)

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

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

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

答案 1 :(得分:27)

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

答案 2 :(得分:24)

更新的答案是this plugin

(免责声明:我个人实际上并没有使用它,它干扰了我的其他vim设置太多。如果你的vim相对干净而且你正在从崇高中移动,这肯定是你的一杯茶。 )

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

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