Diferencia dos pestañas en Vim

121

Escenario: abrí Vim y pegué texto. Abro una segunda pestaña :tabey pego otro texto allí.

Objetivo: Me gustaría una tercera pestaña con una salida equivalente a escribir ambos textos en archivos y abrirlos con vimdiff .

Lo más cercano que puedo encontrar es "comparar el búfer actual con un archivo", pero sin tener diffen cuenta dos búferes abiertos pero no guardados.

davetapley
fuente
1
¿cuál es el comando tabe?
hhafez
1
@hhafez - abre un búfer nuevo en una pestaña nueva
Torre
3
Es la abreviatura de: tabedit, también conocido como: tabnew.
TSomKes

Respuestas:

188

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

Esto es lo que suelo hacer:

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

El :vnewcomando divide la vista actual verticalmente para que pueda abrir el segundo archivo allí. A continuación, se aplica el comando :diffthis(o abreviado :difft:) a cada vista.

ene
fuente
1
Fwiw, MacVim no parece tener esto por defecto, pero creo que debería poder ir a la terminal y escribir vimdiff file1.txt file2.txty noquearse.
ruffin
11
Simplemente me voló la cabeza. Mi vida nunca volverá a ser la misma después :diffthis. Muchas gracias. ¡Gracias!
Justin Force
3
Esto es asombroso. Las edit fileNpartes se pueden reemplazar con solo pegar desde el búfer, lo que le permite diferenciar dos fragmentos de texto sin pegar cada uno en un archivo tmp (algo que meld le permite hacer, pero faltan las herramientas de diferenciación visual en Mac). Me funcionó en MacVim desde el primer momento.
yshavit
38

Sugeriría probar : diffthis o : diffsplit

joeslice
fuente
10
:vert diffsplitlo convierte en un diff-visión más tradicional que sin:vert
ephemient
7
Puede: establecer diffopt + = vertical para hacer: vert el valor predeterminado.
graywh
3
Además, para desplazarse por dos ventanas simultáneamente: :set scrollbinden ambas.
Dmytro Sirenko
No funciona si tengo pestañas, como se pregunta en la pregunta. Si lo hago :diffsplit, obtengo dos búferes conectados.
erik
25

Cuando tenga dos archivos abiertos en división vertical, ejecute

:windo diffthis

AB
fuente
8
usar :diffoffpara desactivar el modo diferencial
AB
2
Pero, ¿cómo cambio de dos pestañas a una división vertical?
erik
1

El contenido de todas las pestañas está dentro de los búferes. Mira los búferes:

:buffers

Encuentre el número correcto para el contenido que debe diferir con el contenido de su pestaña actual.

Abra el búfer dentro de su pestaña actual (fe búfer número 4)

:sb 4

O hazlo para vista vertical:

:vertical sb 4

Luego, puede simplemente diferir el contenido con

:windo diffthis

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

:windo diffoff
chasquido
fuente