files - vim diff tool
Combinar cambios usando vimdiff (3)
Puede alternar entre las dos ventanas con Ctrl w w . Puede copiar desde una ventana hacer un Ctrl w w , y luego pegar en la otra. A medida que resuelvas las diferencias, los aspectos destacados cambiarán y desaparecerán.
vimdiff
no es realmente una herramienta de combinación. Le muestra las diferencias entre los archivos, y usted hace la fusión manualmente.
Echa un vistazo a este video .
En mi caso, tengo dos archivos file1 y file2. Usando vimdiff, quiero fusionar los cambios de la siguiente manera:
- En la primera diferencia, coloque la línea del archivo 1 sobre la línea del archivo 2. Significa que la diferencia, como el
Listing 2
en el archivo 2 y laList 2
debe ser laList 2
seguida delListing 2
en el archivo combinado. - Reverse caso en otro cambio.
La instantánea se muestra a continuación.
¿Cómo podemos lograr esto usando vimdiff?
Puede simplemente cambiar entre las ventanas y copiar y pegar para resolver las diferencias, como sugiere @David W. en su respuesta, pero Vim también tiene comandos dedicados :diffput
y :diffget
para simplificar esto. Con estos (o los comandos do
y dp
modo normal correspondiente), no tiene que cambiar entre ventanas, y el rango cambia de forma predeterminada al cambio actual.
Si necesita agregar en lugar de sobrescribir con las diferencias del otro búfer (que es un caso bastante inusual en un clásico de dos vías), todavía tiene que jalar las líneas originales y colocarlas después del :diffget
.
Una vez que haya terminado en un lugar, puede usar los comandos ]c
, [c
para saltar a la siguiente diferencia.
Puedes usar los siguientes comandos básicos para fusionar:
d o - Obtener cambios de otra ventana en la ventana actual.
d p - Coloque los cambios de la ventana actual en la otra ventana.
] c - Salta al siguiente cambio.
[ c - Salta al cambio anterior.
z o - abrir líneas plegadas.
z c - cerrar las líneas plegadas.
Ctrl w w - cambiar ventana.
:only | wq
:only | wq
- salga de otras ventanas, escriba y salga.
Ver más detalles en este artículo .