如何在vim中阻塞(列?)粘贴

sot*_*tto 19 vim

我怎么能在多行上粘贴东西?

我试图实现相同的目的:在现有文本中,我可以<Cv> jjjjj <SI> HelloWorld <CR>将HelloWorld插入5行

但不是键入HelloWorld我想从寄存器中获取文本.我想首先猛拉HelloWorld然后插入5行.

a'r*_*a'r 20

当您处于插入模式时,可以按下Ctrl-R要粘贴的缓冲区的字母.然后像往常一样按Escape,它将正常插入块.

  • 因此,根据Doug的回答,这将是,在你想要填写的文本之后,`<CV> jjI <CR>"<ESC>`(假设你做了正常的猛拉,没有指定缓冲区). (2认同)

Dou*_*Lee 6

假设你在vim缓冲区中有以下内容:

1|  Do the dishes
2|  Get milk
3|  Take out the trash
Run Code Online (Sandbox Code Playgroud)

并且您希望[ ]在每行的开头插入,以便它变为:

1|  [ ] Do the dishes
2|  [ ] Get milk
3|  [ ] Take out the trash
Run Code Online (Sandbox Code Playgroud)
  1. 转到第一行的第一列
  2. CTRL + V(块选择)
  3. j两次(到第三行).现在选择第一,第二和第三列的第一列
  4. I(shift + i - capital"i") - 这是"块插入模式"
  5. 类型 [ ]
  6. esc(逃跑)
  7. 文本将插入每一行