Tabs 如何自动缩进在github上看起来不错,但在编辑器中缩进得很厉害的代码?

Tabs 如何自动缩进在github上看起来不错,但在编辑器中缩进得很厉害的代码?,tabs,spaces,Tabs,Spaces,我需要在Sublime和PyCharm(大型源文件的一小部分)中编辑一段如下所示的代码: 我不确定作者使用的是什么样的现代代码编辑器(以及在一行中混合制表符和空格的创新方法),但不知何故,他们的缩进在github上看起来很合理(所以我猜所有团队成员都在使用Atom?)-我检查了一下,页面源代码仍然包含\t符号 python-mpy_compile命令似乎对这段代码很满意,所以我尝试用替换选项卡,但看起来仍然很糟糕。用“固定数量”的空格替换这些空格的任何尝试也都不起作用,其中包括5个空格(可能

我需要在Sublime和PyCharm(大型源文件的一小部分)中编辑一段如下所示的代码:

我不确定作者使用的是什么样的现代代码编辑器(以及在一行中混合制表符和空格的创新方法),但不知何故,他们的缩进在github上看起来很合理(所以我猜所有团队成员都在使用Atom?)-我检查了一下,页面源代码仍然包含
\t
符号

python-mpy_compile
命令似乎对这段代码很满意,所以我尝试用替换选项卡,但看起来仍然很糟糕。用“固定数量”的空格替换这些空格的任何尝试也都不起作用,其中包括5个空格(可能是浏览器应该使用的数字或
)。文件没有CRLF结尾,我检查过了

我试着在内部使用Python2.7AST,它说缩进是错误的,所以仍然没有运气

我试图找到标签数量和假定的空格数量背后的一些逻辑,由此得出以下观察结果:

2 spaces + tab + 4 spaces => 12 spaces
sstssss ->
ssssssssssss (12 spaces) => t = 6 spaces
example
        for |<- these pipes should be one on top of the other
        |correct_t

sst ->
ssssssss (8 spaces) => t = 6 spaces
example
        |writer.add_scalar('eval/acc', acc, epoch)
    |if acc >= best_acc:

but

ssstsssss ->
sssssssssssss (13 spaces) => t = 5 spaces

         |best_acc = acc
             |model.save_networks('best'+str(epoch))
2个空格+制表符+4个空格=>12个空格
SSS->
SSSS(12个空格)=>t=6个空格
例子
为了|
SSSS(8个空间)=>t=6个空间
例子
|writer.add_标量('eval/acc',acc,epoch)
|如果acc>=最佳_acc:
但是
SSSSSSS->
SSS(13个空格)=>t=5个空格
|最佳acc=acc
|模型。保存_网络(“最佳”+str(历元))

哦,我已经想出了解决办法!我在sublime中将tab width设置为8个空格,然后它会按预期工作,即不是将每个
\t
替换为8个空格,而是将它们“tab”到8个空格

在linux中,可以通过
expand-t8
执行相同的操作