vim diff tabs vimdiff buffer

Diff dos pestañas en Vim



tabs vimdiff (4)

Escenario: he abierto Vim y he pegado un texto. Abro una segunda pestaña con :tabe y :tabe otro texto allí.

Objetivo: me gustaría una tercera pestaña con un resultado equivalente a escribir ambos textos en los archivos y vimdiff con vimdiff .

Lo más cerca que puedo encontrar es "diferir el búfer actual contra un archivo", pero no diff dos búferes abiertos pero no guardados.


Cuando tenga dos archivos abiertos en splitt vertical, ejecute

:windo diffthis


El contenido de todas las pestañas está dentro de los buffers. Mira los buffers:

:buffers

Encuentra el número correcto para el contenido que se debe diferir con tu contenido de pestaña actual.

Abra el buffer dentro de su pestaña actual (fe buffer number 4)

:sb 4

O hacer para la vista vertical:

:vertical sb 4

Entonces puedes simple diff el contenido con

:windo diffthis

Si terminó el análisis de diferencias, puede ingresar:

:windo diffoff



Sugiero abrir el segundo archivo en la misma pestaña en lugar de abrir uno nuevo.

Esto es lo que suelo hacer:

:edit file1 :diffthis :vnew :edit file2 :diffthis

El comando :vnew divide verticalmente la vista actual para que pueda abrir el segundo archivo allí. El :diffthis (o short:: :difft ) se aplica luego a cada vista.