¿Cómo pegar desde múltiples portapapeles vim sin salir del modo de inserción?

8

Supongamos que está escribiendo vim y hay 5 expresiones comunes que debe insertar en el texto una y otra vez.

¿Hay alguna manera de decirle a vim que pegue desde múltiples portapapeles sin salir del modo de inserción?

dggoldst
fuente

Respuestas:

20

ctrl-r seguido por el registro le permite pegar el contenido de un registro sin salir del modo de inserción.

Ctrl+ r" Colocar desde el registro predeterminado

Ctrl+ rd Poner del registro d

Por cierto, en vim se les llama "registros" no "portapapeles" y el verbo es "poner", no "pegar". (Recordatorio, para obtener una selección visual en el registro d, usaría "dy)

dggoldst
fuente
¡Esto es genial! Además, ¿cómo formateó el texto para que pareciera un botón de teclado? Busqué algo en las preguntas frecuentes sobre la rebaja de Superusuario, pero no lo encontré.
Nathan Long
1
Prueba con la etiqueta <kbd>.
danadam
2

¿Necesitas que esas expresiones provengan de portapapeles?

Puedes hacer algo como esto fácilmente:

:iab some_unique_string foo bar baz

Y vim reemplazará "some_unique_string" con "foo bar baz" tan pronto como lo ingrese en modo de inserción.

innaM
fuente
1

Si siempre son las mismas expresiones, por ejemplo, en la programación de Java cosas como "main static void main (String ... args)" puede usar un complemento como snipmate . Puede configurarlo para que pueda simplemente escribir "main <Tab>" y se extenderá al largo código java necesario, y tiene características más interesantes ...

c089
fuente