¿Cómo cortar una línea completa en vim y pegarla?


198

Sé cómo usar el vcomando en vim, pero necesito algo que elimine una línea completa y que me permita pegar la misma línea en otro lugar.

Respuestas:


84

Presionar Shift+ vseleccionaría toda esa línea y presionar la deliminaría.

También puede usar dd, lo cual no requiere que ingrese al modo visual.


38
O puede presionar vv o dd, que son equivalentes sin activar el molesto modo visual.
jaked122

13
ddmás fácil que shift + v->d
Kolob Canyon

1
¿Qué pasa con deshacer ... Estoy probando mis documentos y no puedo deshacerlos.
Abhishek saharn

19
¿Qué pasa con la pasta?
Becko

1
Normalmente no dejo comentarios, pero el hecho de que este tipo no dijera cómo pegar y aún así recibió la respuesta aceptada me alegró el día
Cristian E.

422

dden modo comando (después de presionar escape) cortará la línea, pen modo comando pegará.

Actualizar:

Para obtener una bonificación, dy luego un movimiento cortará el equivalente de ese movimiento, por dwlo que cortará una palabra, d<down-arrow>cortará esta línea y la línea de abajo, d50wcortará 50 palabras.

yyes copiar línea, y funciona como dd.

D corta desde el cursor hasta el final de la línea.

Si ha utilizado v(modo visual), debe probar V(modo de línea visual) y <ctrl>v(modo de bloque visual).


13
Buena respuesta. Agregaría Ppara pegar la línea antes del cursor en modo comando. Y <Ctrl-R>"para pegar la línea en modo de inserción.
Birei

13
Y ]ppegar con sangría correcta. Pero debemos tener cuidado de no publicar todo el manual de vim aquí :).
DaedalusFall

16

Hay varias formas de cortar una línea, todas controladas por la dtecla en modo normal. Si está utilizando el modo visual (la vtecla), puede presionar la dtecla una vez que haya resaltado la región que desea cortar. Muévase a la ubicación que desea pegar y presione elp tecla para pegar.

También vale la pena mencionar que puede copiar / cortar / pegar desde registros. Suponga que no está seguro de cuándo o dónde desea pegar el texto. Puede guardar el texto en hasta 24 registros identificados por una letra alfabética. Simplemente anteponga su comando con '(comilla simple) y la letra de registro (a través de z). Por ejemplo, podría usar el modo visual ( vtecla) para seleccionar texto y luego escribir 'adpara cortar el texto y almacenarlo en el registro 'a'. Una vez que navegue a la ubicación donde desea pegar el texto, escriba 'appara pegar el contenido del registro a.


14

Eliminar la línea actual y copiar al portapapeles:

d + d

Pegue el contenido de su portapapeles :

(Sostener) Shift+P


12

Digamos que desea cortar la línea bbby pegarla debajo de la línea.---

Antes de:

aaa
bbb
---

Después:

aaa
---
bbb
  1. Pon tu cursor en la línea bbb
  2. Presione d+d
  3. Pon tu cursor en la línea ---
  4. prensa p

ingrese la descripción de la imagen aquí


11
  1. presione 'V' en modo normal para seleccionar la línea completa
  2. luego presione 'y' para copiarlo
  3. vaya al lugar donde desea pegarlo y presione 'p' para pegar después del cursor o 'P' para pegar antes.


7

La forma más rápida que encontré es a través del modo de edición:

  1. Presione yypara copiar la línea.
  2. Luego ddpara borrar la línea.
  3. Luego ppara pegar la línea.

4

Solo tres pasos.

  1. En el modo de comando, vaya a la posición inicial del texto que desea copiar y presionev
  2. Vaya a la posición final del texto y presioned
  3. Vaya al lugar que desea pegar y presionep
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.