Tome la diferencia de dos ventanas verticales abiertas en Vim


102

Tengo dos archivos abiertos. Se abren en modo vertical, al lado del siguiente. ¿Puedo diferenciar instantáneamente estos dos archivos sin salir o cerrar Vim?

Respuestas:


154

Para comenzar a diferenciar en todas las ventanas visibles:

:windo diffthis

que se ejecuta :diffthisen cada ventana.

Para finalizar el modo diferencial:

:diffoff!

(Las !marcas se diffoffaplican a todas las ventanas de la pestaña actual; sería bueno si diffthistuviera la misma función, pero no la tiene).


El :windocomando lo hace aún mejor. Gracias. Lo mapearé para que sea más fácil.
Fatih Arslan

1
Esa es una buena respuesta, pero tenga en cuenta que la ventana de minibufexplorer debe cerrarse antes de esta operación, si se abre. De lo contrario, diff muestra resultados incorrectos.
calvos

Se puede usar un alias :windo difft[this]. Ref::help diff
DmitrySandalov

@FatihArslan,: windo diffthis no hace nada en mi caso, solo se deja en la columna gris del lado izquierdo junto a los números de línea. Tengo dos archivos Vim diferentes abiertos.
earik87

22

en cada una de las ventanas que desea diferenciar, escriba:

:diffthis

Si desea diferenciar todas las ventanas abiertas, puede hacer:

:windo diffthis

( windoaplicará el comando a todas las ventanas abiertas)


6

Siguiendo las respuestas anteriores,

  • :windo difft (corto para diffthis ) iniciará el modo diff en todas las ventanas abiertas.
  • :windo diffo(abreviatura de diffoff) detendrá el modo diff en todas las ventanas abiertas.

Tengo las siguientes asignaciones en mi vimrcpara que sea más fácil:

command! Difft windo diffthis
command! Diffo windo diffoff

3

Siguiendo las respuestas anteriores, adapté el mapeo proporcionado por @cxw El siguiente mapeo cierra automáticamente NERDTree y diferencia las ventanas abiertas. No importa si NERDTree está cerca, funciona de la misma manera. Hago esto con bastante frecuencia, por lo que me ahorró bastante tiempo.

command! Difft NERDTreeClose | windo diffthis
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.