Me gustaría tirar de una línea en un registro: "{register}y
pero sin sobrescribir lo que estaba anteriormente en el registro. A menudo necesito copiar líneas no contiguas en un registro, y a veces me gustaría usar los registros como una pila.
Ejemplo:
line1
line2
line3
Quiero copiar line1
, colocando el cursor sobre él e ingresando "ay
, luego continúo line3
y hago "ay
. Entonces, cuando lo haga "ap
, AMBOS line1
Y line3
serán pegados.
¿Es esto posible sin complementos? con complementos?
vim
keyboard-shortcuts
Mapad
fuente
fuente
Respuestas:
Si desea agregar a un registro con nombre, use su carácter en mayúscula correspondiente. es decir, en tu ejemplo:
fuente
Solo para ampliar la respuesta de MarkB, ¿sabía que también puede usar marcadores para seleccionar un bloque de texto para su tirón?
Vaya a la primera línea del bloque que desea tirar e ingrese el comando de marca después de seleccionar una letra como marcador, por ejemplo
luego vaya a la parte inferior del bloque que desea tirar e ingrese el comando:
este comando significa tomar el bloque de texto de la línea que contiene mi marcador llamado a hasta la línea actual y colocarlo en el búfer a. Se aplican las mismas reglas que las mencionadas por MarkB, use el nombre del búfer en minúsculas para sobrescribir el búfer. Utilice el nombre del búfer en mayúsculas para agregar al búfer. Entonces, en este caso, esto se agregará al contenido del búfer a.
NB La 'a' utilizada para su marcador no tiene nada que ver con la 'a' utilizada para seleccionar su registro. (AFAIK pero YMMV)
Por cierto, 'a (apóstrofe a) se refiere a la línea que contiene el marcador a. `a (comilla inversa a) se refiere al carácter debajo del cursor cuando ingresó ma.
es útil porque borrará el texto entre el carácter marcado con el marcador a hasta el carácter justo antes del carácter que ha marcado con el marcador b.
fuente