注意到一些奇怪的事情:
使用vim,我将一行代码上的缩进从3个制表符替换为24个空格。在vim中,代码与上面的行对齐,它仍然有3个制表符。
但是在' git diff'控制台输出,我看到类似的东西(忽略这里的实际宽度):
- if (...)
+ if (...)
这是一个小问题,但有点好奇......所以我选择了集体的SO大脑。
谢谢!
答案 0 :(得分:2)
这就是标签的工作方式。它们转到下一个tabstop,这意味着默认设置中的下一个8列。
如果您的行以8个空格开头,则下一个字符将位于第9列。如果它以制表符开头,则下一个字符将位于第9列。
如果它以+
和8个空格开头,则下一个字符位于第10列,因为8个空格仍占用8个空格。
如果它以-
和标签开头,则下一个字符位于第9列,因为该标签仅占用“但是在下一个8的倍数之前剩余的空间”。