Я провел некоторое исследование.
Конфигурация не core.whitespaceимеет ничего общего с тем, как отображаются вкладки. Он используется только для git, чтобы распознать ошибки, связанные с символами табуляции. Например: когда indent-with-non-tabвключено и core.whitespaceустановлено значение tabwidth=4и строка имеет отступ с 4 пробелами или более, git сообщит об ошибке.
Для git, кроме функций обнаружения ошибок, связанных с символами табуляции, символ табуляции является символом, похожим на любой другой символ. Он сравнивается и сбрасывается в любой инструмент, используемый для отображения символов. Это означает, что для настройки отображаемой ширины вкладки вы должны настроить «внешние интерфейсы» git. В случае git diffэтого будет «меньше» (инструмент Unix «меньше»). В случае git guiэтого был бы сам git-gui.
Настроить меньше легко. Вы можете настроить git core.pagerдля настройки less для отображения вкладки, используя 4 пробела (less имеет параметр -xnдля установки tabwidth n).
Конфигурирование git-gui оказалось значительно сложнее. Git-gui написан на Tcl / Tk. Я нашел опцию Tcl / Tk для настройки ширины вкладки в текстовых виджетах. Я также нашел строку, в git-gui.shкоторой, похоже, инициализируется текстовый виджет.
Это строка 3346 файла git-gui.shв git версии 1.7.5:
catch {$ui_diff configure -tabstyle wordprocessor}
Я изменил это в соответствии с руководством Tcl / Tk, чтобы:
catch {$ui_diff configure -tabs "[expr {4 * [font measure $font 0]}]" -tabstyle wordprocessor}
Это, казалось, не имело никакого эффекта. Я пробовал разные значения для, -tabsи они оказали некоторое влияние на ширину отображаемой вкладки, поэтому, похоже, это правильная строка для изменения.
К сожалению, Tcl / Tk, похоже, не имеет понятия ширины табуляции в терминах символов, вместо этого ширина табуляции должна быть задана в пикселях или сантиметрах.
Обратите внимание, что у меня нет никакого опыта в Tcl / TK, поэтому, возможно, я просто пропускаю что-то простое здесь.
Во всяком случае, теперь вы знаете, с чего начать копать. Не забудьте сообщить здесь, если у вас есть рабочее решение. Удачи.