很多时候,当我粘贴到vim中时,我会得到级联的缩进,这些缩进非常令人沮丧。结果看起来像这样
This is line one
This is line two
This is line three
This is line four
我想知道是否有办法告诉vim将第二行到第四行与第一行对齐。如果第一行文本从光标位置6开始,有没有办法说“让接下来的十行也从第6位开始?”
答案 0 :(得分:13)
要更正此级联缩进,您可以使用=
重新缩进块。选择一个可视化的区域并输入=
或提供一个动作:=4j
以重新缩进接下来的4行。
您可以在粘贴之前设置paste
来避免级联缩进::set paste
。粘贴后:set nopaste
。
答案 1 :(得分:4)
在粘贴文本时,您可以使用:set paste
来避免这种情况。您可以使用left
设置缩进级别。
:<range>left3
E.g。
.,+4left3
将接下来的4行的缩进设置为3。
注意:可以在可视模式下定义范围,只需选择S-v
的某些行,然后按:left4
答案 2 :(得分:2)
在粘贴之前,粘贴后:set paste
执行:set nopaste
。
或者使用Vim的内置粘贴命令和剪贴板寄存器:
"+p (paste after the cursor or below the line)
"+P (paste before the cursor or above the line)
请参阅:help 'paste'
和:help registers
。