在工作中,我们是几个开发人员,没有代码风格指南,一些开发人员使用制表符缩进,另一些使用4个空格(幸运的是,没有人使用4个空格以外的空格缩进)。一般来说,这不是(大)问题,因为在我们的编辑器中,我们设置了tabwidth=4
,所有的缩进看起来都是正确的。
但在git diff
或git show
中,出现的是:
diff --git a/mesclatabs.php b/mesclatabs.php
new file mode 100644
index 0000000..1986c91
--- /dev/null
+++ b/mesclatabs.php
@@ -0,0 +1,5 @@
+<?php
+function foo() {
+ echo "line with 1 tab\n";
+ echo "line with 4 spaces\n";
+}
问题是git diff
或git show
,其中每个制表符显示为8个空格宽(实际上是一个制表符,shell(在我的例子中是bash)显示制表符为8个空格。我想一定有bash配置来改变这一点,但我想知道git是否有一个选项,在diff
/show
中输出制表符为4个空格,因为一些开发人员使用zsh
而不是bash
。
有什么想法吗?
3条答案
按热度按时间kyks70gy1#
我相信
git config --global core.pager 'less -x1,5'
参考文献:
csbfibhn2#
作为答案https://stackoverflow.com/a/10584237/1850340不适合我,因为我的颜色设置,我想出了以下解决方案:
这将在显示之前用4个空格替换所有制表符。(需要使用TAB解决方案来避免shell反斜杠转义)
5tmbdcev3#
在MacOS上你可以
-x/--tabs
是相同的选项,我更喜欢使用完整的选项。-xn,...或--制表符=n,...
设置制表位。如果仅指定一个n,则制表位将设置为n的倍数。如果指定了多个值(以逗号分隔),则制表位将设置在这些位置,然后以与最后两个值相同的间距继续设置。例如,-x9,17将制表符设置在位置9、17、25、33等。n的默认值为8。