¿Existe una herramienta estable (opción / complemento de una herramienta existente: vimdiff, diff, etc.) en Linux para hacer diff entre dos archivos de texto en forma de caracteres?
Me gustaría ver la subsecuencia común más larga entre mis dos archivos resaltados. Para eso hay un algoritmo clásico de tiempo polinómico , pero las herramientas estándar parecen funcionar solo línea por línea.
diff
file-comparison
vimdiff
Valentas
fuente
fuente
cmp -bl ...
después de encontrar esta respuesta e informó múltiples diferencias y sus posiciones. Mi versión escmp (GNU diffutils) 3.6
.Instalar
diffchar
( enlace de Github para aquellos que usan un cargador automático de complementos). Desde v4.7, con el complemento habilitado, Vim muestra automáticamente diferencias más exactas:Puede presionar F7(el mapa de teclas predeterminado) para alternar entre el habitual y el complemento. Reasignar con:
reemplazando
<key>
con un código clave apropiado.Puedes usar más colores:
Desafortunadamente, esto no funciona entre líneas, lo mejor que puedo decir. Sin embargo, las regiones comunes se dejan sin resaltar (y se pliegan, si crecen demasiado), por lo que es posible que pueda aprovechar eso.
Copiado de mi publicación de Vi y Vim Stack Exchange .
fuente