tutorial texto pegar insertar español editar copiar con comandos comando vim keyboard-shortcuts

texto - cómo agregar líneas a un registro vim sin sobreescribirlo



vim linux (2)

Me gustaría marcar una línea en un registro: "{register}y pero sin sobreescribir lo que estaba previamente en el registro. A menudo necesito copiar líneas no contiguas en un registro, y me gustaría usar a veces los registros como una pila.

Ejemplo:

line1 line2 line3

Quiero copiar la line1 , colocando el cursor sobre ella y escribiendo "ay , luego voy a la línea line3 y hago "ay . Luego, cuando haga "ap , se line1 tanto line1 .

¿Es esto posible sin complementos? con complementos?


Si desea agregar un nombre a un registro, use su caracter en mayúscula correspondiente. es decir, en su ejemplo:

"ayy "Ayy "ap


Solo para ampliar la respuesta de MarkB, ¿sabías que también puedes usar marcadores para seleccionar un bloque de texto para tu tirón?

Diríjase a la primera línea del bloque que desea extraer e ingrese el comando de marca luego de seleccionar una letra como marcador, por ejemplo

ma (entered in command mode, i.e. no colon)

luego ve al pie del bloque que deseas tirar e ingresa el comando:

:''a,.ya A

este comando significa tomar el bloque de texto de la línea que contiene mi marcador llamado a hasta la línea actual y tirarlo al búfer a. Las mismas reglas que MarkB mencionó se aplican, use el nombre del buffer en minúsculas para sobrescribir el búfer. Use 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óstrofo a) se refiere a la línea que contiene el marcador a. `a (cita inversa a) se refiere al personaje debajo del cursor cuando ingresaste ma.

`ad`b (also entered in command mode)

es útil porque eliminará el texto entre el carácter marcado con marcador a hasta el carácter justo antes del carácter que ha marcado con el marcador b.