Hoy comencé a usar vimdiff y quería hacer algunas de las cosas que he dado por sentado en los editores de diferencias basados en Windows (como expandir / contraer una sección de diferencias, tener una expansión completa de archivos / solo diferencias con 3 líneas de contexto arriba o a continuación, etc.). Actualmente solo conozco los siguientes comandos:
Atajos de teclado:
do - Obtener cambios desde otra ventana a la ventana actual.
dp - Coloque los cambios de la ventana actual en la otra ventana.
]c - Salta al siguiente cambio.
[c - Salta al cambio anterior.
CTRL+ W, w- Cambia a la otra ventana dividida ( CTRL+ W, CTRL+ Whace lo mismo, en caso de que sueltes la CTRLtecla un poco más tarde)
¿Podría alguien señalarme en la dirección correcta para poder replicar características similares?
Sería bueno si pudiera expandir / contraer líneas alrededor de las diferencias, por ejemplo.
Respuestas:
Además de los que mencionas, solo los uso con frecuencia cuando difiero lo siguiente:
:diffupdate
:diffu
-> recalcula el diff, útil cuando después de hacer varios cambios, vim ya no muestra cambios mínimos. Tenga en cuenta que solo funciona si los archivos se han modificado dentro de vimdiff. De lo contrario, use::e
para volver a cargar los archivos si se han modificado fuera de vimdiff.:set noscrollbind
-> Deshabilita temporalmente el desplazamiento simultáneo en ambos buffers, puede volver a activarlo:set scrollbind
y desplazarse.La mayoría de lo que solicitó es doblar: el capítulo del manual del usuario de vim sobre plegado . Fuera de las diferencias, a veces uso:
zo
-> pliegue abierto.zc
-> cierre doble.Pero probablemente será mejor servido por:
zr
-> Reducción del nivel de plegado.zm
-> un nivel de plegado más, por favor.o incluso:
zR
-> Reducir completamente el plegado, dije !.zM
-> doblar más!La otra cosa que solicitó, use n líneas de plegado, se puede encontrar en la sección del manual de referencia de vim sobre opciones , a través de la sección sobre diff :
set diffopt=<TAB>
, luego actualice o agreguecontext:n
.También debe echar un vistazo a la sección del manual del usuario en diff .
fuente
:set noscrollbind
que surta efecto también debe:set nocursorbind
usarse, lo que no es el predeterminado. Entonces ambas opciones deben ser ajustadas.establecer vimdiff para ignorar mayúsculas y minúsculas
Habiendo comenzado vim diff con
Encuentro que molestamente un archivo tiene palabras clave de MySQL en minúsculas y el otro en mayúscula mostrando diferencias en prácticamente todas las líneas
esto actualiza la pantalla dinámicamente y puede apagarla fácilmente
fuente
En realidad, si lo hace
Ctrl+W W
, no necesitará agregar ese extraCtrl
. Hace lo mismo.fuente
ctrl + w, w como se mencionó se puede usar para navegar de un panel a otro.
Ahora puede seleccionar un cambio particular solo y pegarlo en el otro panel de la siguiente manera. Aquí estoy dando un ejemplo, como si quisiera cambiar mi código del panel 1 al panel 2 y actualmente mi cursor está en el panel1
Use Shift-v para resaltar una línea y use las teclas hacia arriba o hacia abajo para seleccionar el código que necesita y continúe desde el paso 3 escrito a continuación para pegar los cambios en el otro panel.
Use el modo visual y luego cámbielo
1 haga clic en 'v', esto lo llevará al modo visual 2 use la tecla arriba o abajo para seleccionar su código requerido 3 haga clic en, Esc 'tecla de escape 4 Ahora use' yy 'para copiar o' dd 'para cortar el cambio 5 do' ctrl + w, w 'para navegar al panel2 6 haga clic en' p 'para pegar el cambio donde lo necesite
fuente