Hacer que vimdiff muestre todo el archivo

37

¿Cómo puede hacer que vimdiff muestre todo el contenido de los archivos que se diferencian? Me gustaría resaltar el color de las diferencias, pero aún me gustaría ver los archivos completos, es decir, las partes que son idénticas también.

metáfora pitónica
fuente

Respuestas:

48

vimdiffse establece foldmethod diffpara que todas las líneas sin cambios se plieguen. Desde adentro vimdiffpuede abrir todos los pliegues presionando zR.

Si desea mostrar siempre el contexto completo, puede aumentar el número de líneas de contexto desplegadas que se muestran a un gran número. En su ~/.vimrc:

if &diff                             " only for diff mode/vimdiff
  set diffopt=filler,context:1000000 " filler is default and inserts empty lines for sync
endif
Benjamin Bannier
fuente
66
Sí, zRes el camino a seguir. Nota: zarecreará los pliegues.
sleske
@sleske zano cierra pero lo zMhace, como se desprende de la respuesta de @Thomas.
MycrofD
@MycrofD: sí. Para ser precisos: zacerrará un solo pliegue (el que está debajo del cursor); zMcerrará todos los pliegues. Ambos pueden ser útiles.
sleske
¿Hay alguna opción para aumentar las líneas de contexto desplegadas en el comando vimdiff en sí? Esto será útil mientras se ejecuta desde un archivo de script de shell.
itsraja
Sí, hay see, vimdoc.sourceforge.net/htmldoc/options.html#'diffopt ', por ejemplo, para ver con 42 líneas de contexto que uno podría establecer set diffopt+=context:42.
Benjamin Bannier
3

¡Colocar el cursor en la línea que desea expandir y presionar la barra espaciadora me funciona!

Parece que a veces también he tenido que usar las teclas de flecha.

Nate
fuente