salta quitar puntero problema porque pantalla lineas como centrar aparece vim keyboard-shortcuts copy-paste

vim - quitar - Cómo pegar en la línea donde está el cursor?



puntero en autocad (10)

El comando p pega debajo del cursor y P pega sobre el cursor. ¿Cuál es el comando para pegar en la línea donde está el cursor?


  1. divide la línea en 2 donde quieras insertar

  2. pegar la sección entre ellos

  3. fusiona las 3 líneas con j como se describe aquí ( Eliminar nueva línea en Vim )

funciona, pero tedioso, y tuvo que pensar, buscarlo => vi y emacs son software de basura


(Sé que este hilo es viejo, solo dejo esto y espero que esto pueda ayudar a alguien)

Inspirado por el comentario de @ wbg anterior sobre la eliminación de la alimentación de línea, los agregué a mis asignaciones:

nnoremap <leader>p :let @"=substitute(@", ''/n/+$'', '''', '''')<CR>p

inoremap <leader>p <esc>:let @"=substitute(@", ''/n/+$'', '''', '''')<CR>pa

Esto es útil cuando tengo un archivo con algunos SQL (línea por línea) y tengo que ingresar al código.


El menú Editar en gvim enumera lo siguiente:

  • Pegar = " + g P

  • Poner antes = [ p

  • Poner después = ] p

Si está ejecutando vim en Windows, puede hacer lo siguiente para que Ctrl + C y Ctrl + V funcionen como se espera:

source $VIMRUNTIME/mswin.vim behave mswin


Necesitaba "lanzar" los contenidos del registro en un cierto modo (en modo característico / en línea / en bloque) con tanta frecuencia que escribí el vim.org/scripts/script.php?script_id=3355 para él. Proporciona gcp , glp , etc. a los comandos de pegado incorporados que fuerzan un cierto modo (y por ahora varias variaciones más sobre este tema, como pegar con unidas por comas o caracteres consultados).

Con él, puede usar gcp / gcP para pegar después / antes de la posición del cursor, independientemente de cómo haya tirado el texto.



Para pegar en el modo Insertar, solo presiona Control + R. Luego ingrese el registro, por ejemplo, Mayús + + .

Para pegar en el modo de comando, presione P , sin embargo, debe asegurarse de que su línea no tenga un nuevo carácter de línea (por ejemplo, tirada por 0v$hy ), de lo contrario, aparecerá sobre el cursor.

Lo mismo para el modo visual, ver: ¿Cómo pegar una línea en un bloque de selección vertical? en Vim SE


Puede usar D para borrar de la posición actual del cursor al final de la línea, y la p a la nueva posición del cursor.

Eso es cortar y pegar una línea completa usando ^ D y p.


Si desea mantener la línea actual tal como está, puede pegar encima o debajo de la línea.

Si desea sobrescribir la línea actual, tendrá que eliminarla primero, lo que significa que la siguiente línea toma su lugar, luego pegue sobre la nueva línea actual.

Hay más de una forma de hacerlo:

  • "_ddP

    1. "_dd borra toda la línea actual en el" registro de agujero negro ", la siguiente línea es ahora la línea actual.

    2. P pone el contenido del registro sin nombre encima de la línea actual.

  • Vp

    1. V te pone en modo VISUAL LINE y selecciona visualmente toda la línea actual

    2. p reemplaza la selección con el contenido del registro sin nombre

  • S<Cr>"

    1. S borra el contenido de la línea actual y lo pone en modo INSERTAR

    2. <Cr>" pone el contenido del registro sin nombre

Las dos últimas opciones tienen un efecto secundario interesante: el contenido de la línea anterior se coloca en el registro sin nombre, lo que hace que sea imposible hacer múltiples pasadas con el mismo contenido.

Afortunadamente, puedes evitar esta situación:

  • El "registro de agujero negro", mencionado en la primera solución funciona, bueno ... como un agujero negro. Cualquier cosa que pongas en ella desaparece para siempre, así puedes continuar usando p y P con cierto grado de confianza de que el registro sin nombre sigue siendo el mismo de pegar para pegar.

  • Vim le da acceso a 26 registros alfabéticos que puede usar para guardar macros o ... pegar cosas repetidamente.

    Tomando la segunda solución como punto de partida, empiezas tirando de una línea completa para registrar "a con "ayy luego haces V"ap en otra línea.

Pero todo lo anterior supone que el texto que desea pegar es una línea real. Vim hace la diferencia entre "sabio de línea" y "sabio de personaje": no te permitirá pegar una línea en un contexto de carácter o al revés.

Al marcar una línea entera con yy mantiene la línea inteligente o la capacidad de los personajes, y no podrá p entre dos caracteres en la misma línea. Para eso debes asegurarte de que lo que tiras no sea interpretado en línea por Vim. Por ejemplo, supongamos que estás en el primer personaje de la primera línea y quieres tirar ipsum dolor y ponerlo en su lugar normal entre lorem y sit :

ipsum dolor lorem sit amet

Debe escribir "ayee para poner el texto arrancado en el registro "a , coloque el cursor donde lo necesite y escriba "aP .


Todo esto depende del tipo de datos en el registro que está pegando. Si los datos están orientados a la línea (por ejemplo, con y y ), se pegarán como una línea completa encima o debajo del cursor. Si los datos están orientados a caracteres (extraídos, por ejemplo, y 2 w ), se pegarán en o antes de la posición del cursor en la línea actual.

Consulte :help linewise-register para obtener más información sobre la interacción entre el tipo de registro y el comando put.


Shift + v seleccionará la línea completa, pero no desea hacer eso. En su lugar, presione CTRL + v desde el comienzo de la línea que seleccionará por carácter, luego $ para seleccionar hasta el final de la línea. jalar y pegar p .