2010-01-02 11 views

Respuesta

2

vimdiff van a hacer lo que quiere. Vim está instalado por defecto en la mayoría de las distribuciones de Linux, por lo que probablemente ni siquiera necesite instalar nada.

50

Estoy usando vimdiff. O también está sdiff.

+2

sdiff parece agradable, pero ¿hay alguna variación que admita salida de color? – WhyNotHugo

+3

vimdiff se ven muy bien. – Trismegistos

+2

nota: Vim viene con vimdiff ya – rubo77

3

Personalmente me gusta usar vimdiff. Pero si no sabes vim eso no será tan útil para ti.

+0

No hay demasiados trucos específicos de vim para usar 'vimdiff' (excepto para recordar cómo salir). Un consejo es que puede especificar el interruptor' -o' para que se use horizontal Windows en lugar de la vertical predeterminada ('-O'.) – MarkHu

2

Emacs tiene un built-in herramienta visual de diferencias: M-x ediff.

+0

¿Leyó la pregunta completa? –

+0

Sí, pero si mira el historial de edición de la pregunta, notará que la parte sobre "no Vim o Emacs" se realizó ** después de ** Escribí mi respuesta. :) – JesperE

+0

Lástima que no pude hacer M-x vc-diff en eso. Paz :) –

3

Su título menciona "consola Linux" pero su pregunta menciona meld, que es una aplicación GUI. Podría ayudar a los que responden si pudiera aclarar esto.

En aplicaciones de GUI, meld sigue siendo más o menos el estándar. Funciona bien, es razonablemente bonito e intuitivo.

Si usted está realmente limitado al uso de la consola (es decir, sólo texto) a continuación, aparte de las utilidades diff integrado en editores como vim y emacs también se podría tratar la utilidad de línea de comandos originales diff. Me parece muy útil utilizar la opción -y para mostrar los archivos uno al lado del otro, y hay otras opciones que he usado para mostrar diferencias "unificadas" y para establecer con precisión la cantidad de contexto en torno a las diferencias coincidentes. Si canaliza la salida de diff en less, puede navegar con bastante comodidad.

+0

Gracias Cral, el problema no está relacionado con el uso limitado de la consola, prefiero usar el modo de consola :-) – leedit

17

Puede intentar ColorDiff.

+8

Funciona bien, pero la salida de color se pierde al pasar por 'less'. Use 'less -r' para mantener los colores. – SabreWolfy

18

Si te sientes cómodo con git, también puedes usar git diff para generar una ruta para ti. Normalmente le dará colores agradables, página a less, y salida el formato unified diff por defecto. Funcionará independientemente de si los archivos son parte de un repositorio git.

git diff -- file.a file.b 

Si file.a y file.b residen en un repositorio git y son sin seguimiento, tendrá que hacer la oferta --no-index:

git diff --no-index -- file.a file.b 

porque git diff contra el índice por defecto.

16

Ninguna de las respuestas existentes aquí encaja en mi caso de uso, pero he encontrado cdiff, que es una pequeña pieza preciosa de software que hace exactamente lo que necesito: herramienta basada

Plazo para ver color, incrementales diff en un espacio de trabajo Git/Mercurial/Svn o desde stdin, con un lado a lado y soporte de auto buscapersonas.

Aquí es lo que el lado a lado de modo parece:

side by side diff output

+0

[parece] (https://github.com/ymattw/cdiff/issues/61) es solo para analizar la salida VCS –

+1

Maneja la visualización de formatos de diferencias estándar. No genera la diferencia en sí; puede hacerlo utilizando 'diff -u one.txt two.txt | cdiff' –

+0

Encontré cdiff -s -w 0 en este caso funciona bastante bien. Gracias por indicarnos cdiff. – WeakPointer

1

empecé a reconstruir xxdiff en la consola (ya enteramente he cambiado a TMux el desarrollo de la consola) en una nueva Python- basado en la herramienta de un solo archivo que llamo "termdiff". Me encontré con problemas de compatibilidad de maldiciones, así que puse esto en el hielo por ahora, solo necesito algo de tiempo para solucionar problemas menores con el llenado de espacio vacío, pero actualmente escupe resultados que se parecen a xxdiff y puedes canalizarlos en menos.

http://furius.ca/xxdiff/bin/termdiff

Trate termdiff --cat o termdiff --less, funciona.

Mientras tanto estoy usando una configuración personalizada de Emacs y ediff, pero es un poco lento para comenzar, todavía me gustaría tener un programa dedicado de inicio rápido en la consola.

1

Midnight Commander (mc) tiene funciones integradas y funciones mucho más útiles. Proveedores:

sudo apt instalar mc

Cuestiones relacionadas