¿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.

VivekVarade123
fuente

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.

Programador123123
fuente
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).

DédaloOtoño
fuente
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.

dsummersl
fuente
14

Eliminar la línea actual y copiar al portapapeles:

d + d

Pegue el contenido de su portapapeles :

(Sostener) Shift+P

Cañón Kolob
fuente
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í

comandante personalizado
fuente
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.
ojas mohril
fuente
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.
Vadoff
fuente
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
sumedhe
fuente