Al comparar archivos y actualizar un repositorio de código fuente, me gusta usar vimdiff. Para copiar los cambios realizados de un archivo a otro, generalmente uso una secuencia de teclas como esta:
Shift + V (select line)
k or j; { or }; Up or down arrow keys (select more lines)
y (copy selected lines)
Ctrl + w, left/right arrow (move to other pane)
p (paste lines)
Vim, siendo el maestro de los atajos de teclado, seguramente debería tener una forma más fácil de realizar esta misma tarea. ¿Hay uno? ¿Qué utiliza para actualizar manualmente los cambios en el código fuente?
Respuestas:
do
(diff get) ydp
(diff put) es lo que necesitas. Aquí hay una pequeña lista de otros comandos útiles de modo normal en este contexto.NOTA:
Ambos
do
ydp
funcionan si está en un bloque o solo una línea debajo de un bloque en modo normal pero no en modo visual. Al seleccionar líneas de texto en modo visual, debe usar los comandos normales:'<,'>diffget
y:'<,'>diffput
.Ver también
:h copy-diffs
.:diffupdate
volverá a escanear los archivos en busca de cambios.fuente
:[range]diffget
y:[range]diffput
son necesarios.diffget
ydiffput
: ① Ingrese al modo visual y marque algunos textos / líneas. ② Luego escriba:diffput
para empujar las líneas seleccionadas al otro archivo o:diffget
para obtener las líneas seleccionadas del otro archivo.dp
y cambia de opinión, debe cambiar al otro búfer para deshacer.V
para seleccionar la línea completa, luegodo
trabaja para copiar sobre una línea específica en vim actual (8.0), por lo que valga.