我希望将所有现有(!)Python文件中的缩进从移位宽度(sw = 2)更改为sw = 4。有关如何在vim中执行此操作的任何建议吗?
答案 0 :(得分:6)
请注意,如果您使用硬标签(即:set ts=4 sw=4
),仅noexpandtab
就足够了,但我认为情况并非如此。但是,通过临时设置noet
:
:set noet | retab! | set ts=4 sw=4 et | retab
这会将现有空格转换为制表符,更改每个制表符的空格数,然后还原为空格。请注意,retab
可能会影响文件中其他位置的空间序列。
也可以手动替换每对前导空格的两倍:
:%s/^\(\(\s\{2}\)\+\)/\1\1/g
但这种方法并不是通用的。
答案 1 :(得分:2)
这不是解决问题的最佳方案,但对于一个文件,您可以重新整理整个文件(如果您配置了缩进规则以符合您的口味):
Shift + V Shift + G =
答案 2 :(得分:0)
如果您只使用了硬标签(未与空格混合使用),请尝试在您的vimrc文件中将tabstop和shiftwidth都更改为4
还可以尝试查看http://vim.wikia.com/wiki/Indenting_source_code以获得更多有关缩进的帮助
答案 3 :(得分:0)
要缩进缩进,可以使用命令
:%s/^\s*/&&/