Zrobiłem trochę badań.
Konfiguracja core.whitespacenie ma nic wspólnego z wyświetlaniem zakładek. Służy tylko gitowi do rozpoznawania błędów związanych z białymi znakami tabulacji. Na przykład: gdy indent-with-non-tabjest włączony i core.whitespacejest ustawiony na tabwidth=4, a linia jest wcięta za pomocą 4 spacji lub więcej, wtedy git zgłosi błąd.
W przypadku git, oprócz funkcji wykrywania błędów związanych z białymi znakami tabulacji, tabulator jest znakiem jak każdy inny znak. Jest porównywany i zrzucany do dowolnego narzędzia używanego do wyświetlania znaków. Oznacza to, że aby skonfigurować wyświetlaną szerokość tabulatora, musisz skonfigurować „interfejsy” git. W takim przypadku git diffbyłoby „mniej” (narzędzie uniksowe „mniej”). W takim przypadku git guibyłoby to samo git-gui.
Konfiguracja mniej jest łatwa. Możesz ustawić konfigurację git tak, core.pageraby mniej konfigurowała wyświetlanie tabulacji za pomocą 4 spacji (less ma parametr -xndo ustawienia szerokości tabulatora n).
Konfiguracja git-gui okazała się znacznie trudniejsza. Git-gui jest napisane w Tcl / Tk. Znalazłem opcję Tcl / Tk , aby skonfigurować szerokość tabulatora w widżetach tekstowych. Znalazłem również wiersz, w git-gui.shktórym wygląda na to, że widget tekstowy jest inicjowany.
To jest linia 3346 pliku git-gui.shw wersji git 1.7.5:
catch {$ui_diff configure -tabstyle wordprocessor}
Zmieniłem to, zgodnie z instrukcją Tcl / Tk, na:
catch {$ui_diff configure -tabs "[expr {4 * [font measure $font 0]}]" -tabstyle wordprocessor}
To nie wydawało się mieć żadnego efektu. Próbowałem różnych wartości dla -tabsi miały one pewien wpływ na wyświetlaną szerokość tabulacji, więc wydaje się, że poprawną linię należy zmodyfikować.
Niestety, Tcl / Tk nie wydaje się mieć pojęcia szerokości tabulatora pod względem znaków, zamiast tego szerokość tabulatora musi być ustawiona w pikselach lub centymetrach.
Zauważ, że nie mam żadnego doświadczenia w Tcl / TK, więc może po prostu przeoczę coś prostego.
W każdym razie teraz już wiesz, od czego zacząć kopanie. Pamiętaj, aby zgłosić się tutaj, jeśli masz działające rozwiązanie. Powodzenia.