我使用解决方案here更改git diff
输出中的标签大小。这适用于git diff
。
我在 .gitconfig :
中有这些设置[core]
whitespace = tabsize=4,indent-with-non-tab
pager = less -FSRX -x4
但这些设置似乎不会影响git add -p
。
如何在git add -p
命令中为帅哥设置标签大小?
答案 0 :(得分:4)
core.pager
设置不会影响git add -p
命令,因为git add -p
没有通过less / pager。要更改字幕大小,您需要更改终端的标签大小。找到解决方案here。刚刚添加到 .bashrc :
env TERM=linux setterm -regtabs 4
该设置在 xterm 终端中正常工作。对于其他终端类型,请查看手册以获得正确的解决方案。
答案 1 :(得分:0)
您可以使用setterm --tabs
来查看当前的制表位。
对于“ git add -p”,您可能希望您的标签停止显示如下:
10 20 30 40 50
12345678901234567890123456789012345678901234567890123456789
T T T T T T T T T T T T T T
不是这个:
10 20 30 40 50
12345678901234567890123456789012345678901234567890123456789
T T T T T T T T T T T T T T
要获得第一个,可以使用tabs -c3
(read here)。
要获得第二个,可以使用tabs -4
。
但是,如果使用cat
(tabs -c3
需要cat
),则会中断tabs -4
的输出。
因此,仅在运行tabs -c3
时才需要git add -p
。
这是我的方法:
git() {
if [[ "$1" == "add" ]] &&
[[ "$2" == "-p" ]] || [[ "$2" == "--patch" ]]
then
tabs -c3
if [[ "$#" -eq 2 ]]
then
command git add -p
else
command git add -p "$3"
fi
tabs -4
else
command git "$@"
fi
}
将其放入您的 .bashrc 和/或 .zshrc