Czy w systemie Linux jest stabilne narzędzie (opcja / wtyczka istniejącego narzędzia: vimdiff, diff itp.) Do różnicowania między dwoma plikami tekstowymi?
Chciałbym zobaczyć wyróżnioną najdłuższą podsekwencję między moimi dwoma plikami. Jest do tego klasyczny algorytm czasu wielomianowego , ale wydaje się, że standardowe narzędzia działają tylko linia po linii.
diff
file-comparison
vimdiff
Valentas
źródło
źródło
cmp -bl ...
znalazłem tę odpowiedź, która zgłosiła wiele różnic i ich pozycji. Moja wersja tocmp (GNU diffutils) 3.6
.Zainstaluj
diffchar
( łącze Github dla osób korzystających z autoloadera wtyczek). Od wersji 4.7, z włączoną wtyczką, Vim automatycznie pokazuje dokładniejsze różnice:Możesz nacisnąć F7(domyślna mapa klawiszy), aby przełączyć między zwykłą a wtyczką. Przypisz ponownie za pomocą:
zastąpienie
<key>
odpowiednim kodem klucza.Możesz użyć więcej kolorów:
Niestety, to nie działa w poprzek linii, najlepiej mogę powiedzieć. Jednak wspólne regiony pozostają un -highlighted (i złożone, jeśli rosną zbyt długo), więc może być w stanie skorzystać z tego.
Skopiowano z mojego postu wymiany Vi i Vim Stack .
źródło