Tome diff de dos ventanas abiertas verticales en Vim
Pregunta
he han abierto dos archivos. Que se abren en modo vertical, junto al siguiente. ¿Puedo instante diff estos dos archivos sin salir o cerrar Vim?
Solución
Para empezar diffing en todas las ventanas visibles:
:windo diffthis
que ejecuta :diffthis
en cada ventana.
Para finalizar diff modo:
:diffoff!
(El !
hace diffoff
aplicará a todas las ventanas de la ficha actual -. Sería bueno si diffthis
tenía la misma función, pero no lo hace)
Otros consejos
en cada una de las ventanas que desee diff tipo:
:diffthis
Si desea diff todas las ventanas abiertas, se puede hacer:
:windo diffthis
(windo
tendrá que aplicar el comando todas las ventanas abiertas)
El seguimiento de las respuestas anteriores,
-
:windo difft
(abreviatura dediffthis
) se iniciará el modo diff en todas las ventanas abiertas. -
:windo diffo
(abreviatura dediffoff
) dejará de diff modo en todas las ventanas abiertas.
Tengo las siguientes asignaciones en mi vimrc
para que sea más fácil:
command! Difft windo diffthis
command! Diffo windo diffoff
Después de las respuestas anteriores me he adaptado la asignación proporcionada por @cxw La siguiente asignación se cierra automáticamente y NERDTree diff las ventanas abiertas. No importa si NERDTree está cerca, que funciona de la misma manera. Lo hago muy a menudo por lo que me salvó bastante tiempo.
command! Difft NERDTreeClose | windo diffthis