对于代码中tab和空格混合缩进的py文件,怎么将他们统一?

初中生
  • 56

好头疼的问题,要改的话要改很久,有没有什么批量解决的方法?

回复
阅读 6.3k
5 个回答
TechliveZheng
  • 2.1k
✓ 已被采纳

试试 retab[!] 命令,会根据你的设置,如 :set et ts=4 sts=4 sw=4,统一修改缩进字符。

: help retab

vim下直接使用:%s/\t/ /g就可以替换当前文件,批量的可以考虑用shell

可以用vim的宏来实现

:set et ts=4 sts=4 sw=4 //设置tab转换对齐到4个空格
gg //到文件开头
qa //开始录制宏
gqq //将这行的tab转为空格
j //到下一行
q //结束录制
10@a //运行宏a 10次。

注意:
1. 分成多行是方便理解,每行的按键结束后不需要按回车。
2. 最后一行的10表示执行@a的次数。这个数字应该不小于文件的行数。

sed -i -e 's/\t/    /g' /path/file.py
winterfell
  • 4
新手上路,请多包涵

各种编辑器都有设置吧,我用的Sublime是在用户设置里有tab_to_space设置。

宣传栏