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

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

阅读 7.7k
5 个回答

试试 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
新手上路,请多包涵

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题