2017-03-22 4 views
0

Bemerkt etwas seltsam:git diff zeigt Tabs und Leerzeichen die gleiche Länge unterschiedlich

vim, ersetzte ich die Vertiefung auf einer Codezeile von 3 Registerkarten bis 24 Leerzeichen. In vim stimmt der Code mit der obigen Zeile überein, die noch 3 Tabs hat.

Aber in ‚git diff‘ Konsolenausgabe, da sehe ich so etwas wie (die tatsächliche Breite hier ignorieren):

-   if (...) 
+   if (...) 

Es ist kleines Problem, aber ein bisschen neugierig .. Also Kommissionierung mir die Kollektives SO-Gehirn.

Danke!

Antwort

3

So funktionieren Tabs. Sie gehen zum nächsten Tabstop, was die nächste Multiple-of-8-Spalte in den Standardeinstellungen bedeutet.

Wenn Ihre Linie mit 8 Leerzeichen beginnt, das nächste Zeichen in der Spalte sein 9. Wenn es mit einer Registerkarte beginnt, wird das nächste Zeichen in der Spalte sein 9.

Wenn es mit einem + und 8 Leerzeichen beginnt Das nächste Zeichen befindet sich in Spalte 10, da die 8 Felder immer noch 8 Felder belegen.

Wenn es mit einem - und einer Registerkarte beginnt, ist das nächste Zeichen in Spalte 9, da die Registerkarte nur aufnimmt, "wie viel Platz vor dem nächsten Vielfachen von 8 übrig bleibt".

Tabs sind schrecklich.