Guardar una macro recién creada en vimrc

14

A veces creo macros. A veces creo la misma macro varias veces.

A veces me canso de volver a crear la misma macro. ¿Puedo almacenar macros? ¿Puedo cargar un preset de macros? ¿Puedo hacer una macro y guardarla para siempre?

sensorario
fuente

Respuestas:

17

¡Sí tu puedes! Hay un par de maneras de hacer esto. Por defecto, todos los registros se guardarán en su archivo viminfo y se cargarán una vez que inicie vim. Esta es la manera más fácil. Sin embargo, no es infalible. Cada registro se perderá si accidentalmente graba / tira de él.

La mejor manera de guardar una macro específica es ponerla en su .vimrc. Por ejemplo, supongamos que desea fooser guardado en macro a. Esto podría lograrse con:

let @a='foo'

en tu vimrc. Si ya tiene sus macros hechas, puede escribir

ilet @a='<C-r><C-r>a'<esc>

para pegar el contenido actual de la macro, si no tiene ganas de volver a escribirlo todo.


Gracias a Andrew Keeton por señalar <C-r><C-r>

James
fuente
Probablemente quiera usar <C-r><C-r>(dos, en lugar de uno) para insertar el texto literalmente
Andrew Keeton
1
@ AndrewKeeton Ooh, una gran mejora. Gracias por informarme sobre eso
James
<c-r><c-r>no funcionará si su macro contiene una secuencia de teclas especial como <c-right>, por ejemplo , "apno tiene este problema.
dedowsdi