Pregunta Duplicar una línea completa en Vim


¿Cómo duplico una línea completa en Vim de una manera similar a Ctrl+re en IntelliJ IDEA / Resharper o Ctrl+Alt+/ en Eclipse?


1307
2017-09-16 15:02


origen


Respuestas:


yy o Y para copiar la línea
o
rere para eliminar (cortar) la línea

entonces

pag pegar el texto copiado o eliminado después la línea actual
o
PAG pegar el texto copiado o eliminado antes de la línea actual


2241
2017-09-16 15:06



Modo normal: vea otras respuestas.

los Ex camino:

  • :t. duplicará la línea,
  • :t 7 lo copiará después de la línea 7,
  • :,+t0 copiará la línea actual y siguiente al comienzo del archivo (,+ es un sinónimo del rango .,.+1),
  • :1,t$ copiará las líneas desde el principio hasta la posición del cursor hasta el final (1, es un sinónimo del rango 1,.)

Si necesita moverse en lugar de copiar, use :m en lugar de :t.

Esto puede ser realmente poderoso si lo combinas con :g o :v:

  • :v/foo/m$ moverá todas las líneas que no coincidan con el patrón "foo" al final del archivo.
  • :+,$g/^\s*class\s\+\i\+/t. copiará todas las líneas subsiguientes del formulario class xxx justo después del cursor.

Referencia: :help range, :help :t, :help :g, :help :m y :help :v


356
2018-04-17 15:17



YP o Yp o yyp.


272
2017-09-16 15:07



copy and paste in vim

¡No hay nada más simple que esto! Desde el modo normal:

yy

luego muévase a la línea que desea pegar y

p

213
2018-02-07 22:20



yy

jalará la línea actual sin eliminarla

rere

borrará la línea actual

pag

será put una línea tomada por cualquiera de los métodos anteriores


44
2017-09-16 15:04



Si quieres otra forma :-)

"ayy  esto almacenará la línea en el búfer a

"ap   esto pondrá el contenido del buffer a en el cursor.

Hay muchas variaciones sobre esto.

"a5yy  esto almacenará las 5 líneas en el búfer a

ver http://www.vim.org/htmldoc/help.html para más diversión


37
2017-09-16 15:37



yypag - recordarlo con "yippee!"

Múltiples líneas con un número intermedio:

y7ypag


35
2017-09-16 15:16



Hacer esto:

Primero, yy para copiar la línea actual, y luego pag pegar.


33
2017-09-16 15:04



yypag - pegar después

yyPAG - pegar antes


19
2017-10-12 18:23



También puede probar <C-x> <C-l>, que repetirá la última línea desde el modo de inserción y le mostrará una ventana de finalización con todas las líneas. Funciona casi como <C-p>


11
2017-09-18 20:32



Otra opción sería ir con:

nmap <C-d> mzyyp`z

le da la ventaja de preservar la posición del cursor.


11
2017-07-14 04:37