如何在vim like Sublime中跨多行复制引号内的文本,然后粘贴它

如何在vim like Sublime中跨多行复制引号内的文本,然后粘贴它,vim,sublimetext2,Vim,Sublimetext2,我一直在做一些挖掘,但似乎找不到一种方法来实现与下面giphy演示的Sublime多行选择功能非常相似的功能: 复制双引号内的所有文本(假设 yi”) 跨多行执行此操作 粘贴所有寄存器?或者最好将单个寄存器中的所有内容粘贴到新的缓冲区 将冒号(变成符号)添加到粘贴文本的每一行 转到每行的末尾并添加逗号 我以为一个视觉选择并运行norm yi“就可以了,但它只捕获视觉选择的最后一行 您可以在Vim中执行这些操作 在多行的引号内拖动 录制宏(:let@a=''qq“Ayiw:let@a=“\n”j

我一直在做一些挖掘,但似乎找不到一种方法来实现与下面giphy演示的Sublime多行选择功能非常相似的功能:

  • 复制双引号内的所有文本(假设
    yi”
  • 跨多行执行此操作
  • 粘贴所有寄存器?或者最好将单个寄存器中的所有内容粘贴到新的缓冲区
  • 将冒号(变成符号)添加到粘贴文本的每一行
  • 转到每行的末尾并添加逗号
  • 我以为一个视觉选择并运行
    norm yi“
    就可以了,但它只捕获视觉选择的最后一行


    您可以在Vim中执行这些操作

    • 在多行的引号内拖动

      录制宏(
      :let@a=''qq“Ayiw:let@a=“\n”j”

      使用宏(
      n@q

    • a
      粘贴到新缓冲区(
      :tabnew“ap

    • 在多行的开头添加冒号(
      njI:

    • 在多行的末尾添加逗号(
      nj$A,

    映射和函数还可以减少按键次数


    e、 g.
    nnoremap b:tabnewp

    @daino3另一种方式是一个VimL(Python、Ruby等)函数,但在这一点上,可能值得检查多个游标。可视块选择(
    )很接近,但它并不完全相同,并且有一些限制。