Enregistrer une macro qui vient d'être créée dans vimrc

14

Parfois, je crée des macros. Parfois, je crée plusieurs fois la même macro.

Parfois, je me lasse de recréer la même macro. Puis-je stocker des macros? Puis-je charger un préréglage de macros? Puis-je créer une macro et la sauvegarder pour toujours?

sensorario
la source

Réponses:

17

Oui, vous pouvez! Il y a plusieurs façons de procéder. Par défaut, tous les registres seront enregistrés dans votre fichier viminfo et chargés une fois que vous aurez démarré vim. C'est le moyen le plus simple. Cependant, ce n'est pas infaillible. Chaque registre sera perdu si vous l'enregistrez / tirez accidentellement dessus.

La meilleure façon de sauvegarder une macro spécifique est de la mettre dans votre fichier .vimrc. Par exemple, supposons que vous souhaitiez fooêtre enregistré dans une macro a. Cela pourrait être réalisé avec:

let @a='foo'

dans votre vimrc. Si vous avez déjà créé vos macros, vous pouvez taper

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

pour coller le contenu actuel de la macro, si vous n'avez pas envie de tout retaper.


Merci à Andrew Keeton d'avoir souligné <C-r><C-r>

James
la source
Vous voudrez probablement utiliser <C-r><C-r>(deux, au lieu d'un) pour insérer le texte littéralement
Andrew Keeton
1
@AndrewKeeton Ooh, grande amélioration. Merci de m'avoir prévenu
James
<c-r><c-r>ne fonctionnera pas si votre macro contient une séquence de touches spéciale telle que <c-right>, "apne rencontrez pas ce problème.
dedowsdi