
En vi/vim me gustaría sobrescribir filas de texto que van hacia abajo en la página. Similar a sobrescribir caracteres en una línea: presiono R
, luego pego y los caracteres se sobrescriben, pero en lugar de eso quiero hacer lo mismo bajando la página.
Ejemplo:
Tengo un archivo con el siguiente texto:
var1: 7FBzezsLKyzYmVeM
var2: kL8RIBJVNrlEUyYV
var3: 1FkmXFSXtH4msKnL
Me gustaría reemplazar esas líneas con lo siguiente:
var1: 7PmuHKKRx9OYt9mR
var2: nuRAS5dAKfUrvECJ
var3: km11I7HuXOWuu43X
Lo que normalmente haría es eliminar las líneas existentes y pegar las líneas nuevas en su lugar, o al revés.
El nuevo texto proviene del búfer de pegado, ya sea extraído o copiado de otro lugar.
He buscado mucho, pero no encuentro ninguna referencia sobre cómo hacer esto. Incluso con macros no puedo pensar en cómo haría esto.
¿Alguien ha logrado hacer esto? Si esto no es posible entonces está bien, lo sé con certeza.
Respuesta1
Por favor intenta esto:
- copiar / tirar las líneas que desea copiar
- cambia al buffer que deseas cambiar
- gRCtrl-r0Esc
Traducción:
- gRingresa al modo de reemplazo visual (cf.
:h gR
) - Ctrl-r0- pega desde el registro
0
(ver:h i_CTRL-R
,:h quote0
) - Esc- sale del modo de reemplazo.
Respuesta2
No estoy seguro de lo que quieres decir.
vaya a la primera línea coincidente, luego use
.,.+2d
r /tmp/var
.,.+2d
eliminará la línea 3 (ajuste 2 a su necesidad)r /tmp/var
leerá (insertará) el archivo de plantilla.
Respuesta3
El incorporado gR
(como lo sugiere @SatoKatsura) es excelente si la longitud del antiguo y del nuevo es idéntica. Sin embargo, en el caso general esto no funciona y se debe adoptar un enfoque diferente. Necesito esto con tanta frecuencia que escribí un complemento para simplificar y permitir la máxima velocidad:Reemplazar con registro.
Este complemento ofrece un comando dos en uno gr
que reemplaza el texto cubierto por un objeto de texto/movimiento, líneas completas o la selección actual con el contenido de un registro; el texto antiguo se elimina en el registro del agujero negro, es decir, desaparece. Maneja de forma transparente muchos casos de esquina y permite una repetición rápida mediante el .
comando estándar. Si no te gusta, su página tiene enlaces a alternativas.