使用缩进粘贴存储在VIM缓冲区中的文本

使用缩进粘贴存储在VIM缓冲区中的文本,vim,Vim,我在缓冲区中存储了以下文本: Alice Bob Carol 我想粘贴 Alice Bob Carol 到另一个地方。在VIM中有什么聪明的方法可以做到这一点吗?如果要粘贴的上/下行具有正确的缩进量,可以使用“a]p/”a[p ]p是“粘贴并调整缩进到当前行”。如果要粘贴的上/下行具有正确的缩进量,可以使用“a]p/”a[p ]p是“将缩进粘贴并调整到当前行”。我可以想到两种方法: 途径1 拉长后,您可以创建一条带有缩进的行,例如一个前导的选项卡,

我在
缓冲区中存储了以下文本:

Alice 
Bob    
Carol
我想粘贴

    Alice 
    Bob    
    Carol

到另一个地方。在VIM中有什么聪明的方法可以做到这一点吗?

如果要粘贴的上/下行具有正确的缩进量,可以使用
“a]p
/
”a[p


]p
是“粘贴并调整缩进到当前行”。

如果要粘贴的上/下行具有正确的缩进量,可以使用
“a]p
/
”a[p


]p
是“将缩进粘贴并调整到当前行”。

我可以想到两种方法:

途径1 拉长后,您可以创建一条带有缩进的行,例如一个前导的
选项卡
,然后按
“a]p
,放置文本将跟随缩进<代码>:h]p
了解详细信息

途径2 如果您不想“准备”缩进。只需像往常一样放置/粘贴,
“ap
,然后执行

`[v`]>

我可以想出两种方法:

途径1 拉长后,您可以创建一条带有缩进的行,例如一个前导的
选项卡
,然后按
“a]p
,放置文本将跟随缩进<代码>:h]p了解详细信息

途径2 如果您不想“准备”缩进。只需像往常一样放置/粘贴,
“ap
,然后执行

`[v`]>
My现在有(除其他外)
g>p
/
g>p
映射,可以粘贴具有[count]次“Shift Twidth”缩进的行。这允许它粘贴具有特定缩进的行,即使没有具有相同数量的相邻行

演示

或者,新的
g[[p
/
g]]p
映射是内置的
g]p
的变体,相对于相邻行减去/添加缩进。

My现在(除其他外)
g>p
/
g>p
映射将行与[count]粘贴在一起时间“shiftwidth”缩进。这允许它以特定的缩进粘贴,即使没有相邻的行具有相同的数量

演示


或者,新的
g[[p
/
g]]p
映射是内置的
g]p
的变体,相对于相邻行减去/添加缩进。

Wow,比我的解决方案好得多。+1Wow,比我的解决方案好得多。+1我也使用方式2,但没有视觉模式:
”ap
然后
`
@glts和
v
,我只是想确保它对
p和p
有效,我也使用方式2,但没有视觉模式:
“ap
然后
`
@glts和
v
,我只是想确保它对
p和p
有效