Ich versuche, zwei Assembly-Dateien zu vergleichen, wobei die eine in Großbuchstaben und die andere in Kleinbuchstaben geschrieben wurde. Viele Zeilen sind bis auf Groß- und Kleinschreibung identisch.
Ich habe Folgendes versucht, während zwei Puffer im diff-Modus:
%Vor%Die Whitespace-Sache scheint gut zu funktionieren, aber der Ignorier-Fall erledigt seine Arbeit nicht. Zum Beispiel in den folgenden zwei Zeilen:
%Vor%[die erste Zeile beginnt mit 12 Leerzeichen, die zweite mit einem einzelnen Tab]
Warum? Was kann ich tun?
UPDATE: gerade bemerkt, dass in diesen zwei Zeilen alle Unterschiede ignoriert wurden OK:
%Vor% Ihr Vergleich scheitert aufgrund der Leerzeichen, nicht aufgrund des Falls. Dies geschieht, weil vimdiff bei der Verwendung der Option iwhite
im Hintergrund eine diff -b
ausführt, die restriktiver ist, wie Whitespaces verglichen werden, als Sie suchen. Genauer gesagt ignoriert die -b
-Option nur Unterschiede in der Menge an Leerzeichen , wo bereits Whitespace vorhanden ist . In Ihrem Beispiel wird i0 = r0;
als anders als I0=R0;
gekennzeichnet, da einer Leerzeichen zwischen den Zeichen enthält und das andere nicht.
Gemäß der vimdiff-Dokumentation können Sie das Standardverhalten der Option iwhite
überschreiben, indem Sie diffexpr
auf einen nicht leeren Wert setzen. Das diff-Flag, an dem Sie interessiert sind, ist --ignore-all-space
, was bei Whitespaces flexibler ist. Sie können diffexpr
in vimdiff ändern, um diese Option anstelle der Standardoption -b
wie folgt zu verwenden:
Weitere Informationen finden Sie in der Dokumentation:
Tags und Links vim vimdiff ignore-case