我从互联网上复制了一些代码,它们有2个空格的缩进,我想把它改成4个空格的缩进。我想知道是否有一个简短的vim例程来完成这个任务,而不必编写vim脚本?下面是我目前使用HTML文件的方法:
简而言之,qa0vt<yp<esc>jq
陷阱:
如果有空行或不是以"<“开头的行,宏将失败。而且我不知道如何将这个解决方案扩展到非HTML文件。
发布于 2013-06-03 15:42:13
更改缩进的一般方法是通过更改tabstop:
将文件粘贴到空缓冲区中,然后:
:set ts=2 sts=2 noet
:retab!
这会将每2个空格更改为一个制表符,然后:
:set ts=4 sts=4 et
:retab
这会将每个制表符更改为4个空格。
这种方法的优点是,您还可以反过来使用它,例如,将4个空格转换为2个空格。
发布于 2013-06-03 08:46:51
使用:set shiftwidth=4
和gg=G
或许可以做到这一点。
发布于 2013-09-24 11:24:04
我所做的与esneider和cforbish的方法非常相似,但输入速度更快一些:
:%s/^\s*/&&
只需将前导空格(空格或制表符)替换为两倍的前导空格(匹配的表达式替换为&
)。
https://stackoverflow.com/questions/16888658
复制相似问题