2

我想将所有现有(!)Python文件中的缩进从2空格更改为4空格移位宽度。任何建议如何在 Vim 中执行此操作?

4

4 回答 4

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

不过,这种方法并不通用。

于 2013-01-23T13:04:01.560 回答
2

这不是解决您的问题的最佳解决方案,但对于一个文件,您可以重新缩进整个文件(如果您配置了缩进规则以符合您的喜好):

Shift+ V Shift+G =

于 2013-01-23T12:12:13.387 回答
0

如果您只使用了硬制表符(不与空格混合),请尝试在您的 vimrc 文件中将制表位和 shiftwidth 都更改为 4

还可以尝试查看http://vim.wikia.com/wiki/Indenting_source_code以获得更多关于缩进的帮助

于 2013-01-23T11:37:26.967 回答
0

要将缩进级别加倍,可以使用命令

:%s/^\s*/&&/
于 2013-01-24T19:20:19.780 回答