【发布时间】:2011-01-19 23:24:21
【问题描述】:
我在我的 python 程序中使用制表符进行缩进,但我想与使用空格的人协作(使用 git)。
git 有没有办法在推送/获取时自动在空格和制表符之间转换(例如,4 个空格 = 1 个制表符)? (类似于 CR/LF 转换)
【问题讨论】:
-
PEP8 正是我的问题。每个人都跟着它,我被我的标签卡住了。我碰巧认为 一个缩进 = 一个制表符 是正确的做法(为什么要空格?为什么要 4 个空格?PEP8 没有解释...)。无论如何,通过这个 git 技巧,我可以愉快地在我的计算机上使用选项卡并与所有 PEP8 关注者分享我的代码。
-
哦!我使用 TextMate,我可以在空格之间转换为制表符。问题是,当我点击制表符时,我喜欢我的编辑器编写...制表符。因此,如果我签出带有空格的 python 项目,我将插入各种选项卡。我必须手动转换为标签,但是当我签入时,它看起来像 1000 个删除,1000 个添加,我的合作者会不高兴。 :-)
-
PEP8 指定空格而不是制表符的原因是因为连续缩进规则。有两种方法可以在括号内继续过长的行。如果您在括号后立即开始新行,您只需缩进一个。如果您将括号的部分内容放在第一行,那么您必须在下一行的左括号的缩进级别继续括号。如果您使用不起作用的标签。
-
@JohnChristopherJones 对于这种情况,可以使用制表符将缩进与上一行匹配,然后使用空格匹配上一行中的位置。这可以很容易地转换为空格。不幸的是,相反的情况并非如此,因为它将缩进信息与对齐信息混合在一起。
标签: git tabs indentation