Réponses:
Utilisez q
suivi d'une lettre pour enregistrer une macro. Cela va simplement dans l'un des registres copier / coller afin que vous puissiez le coller normalement avec les commandes "xp
ou "xP
en mode normal.
Pour le sauvegarder, ouvrez .vimrc et collez le contenu, puis le registre se trouvera au prochain démarrage de vim.
Le format est quelque chose comme:
let @q = 'macro contents'
Attention cependant aux citations. Il faudrait leur échapper correctement.
Donc, pour enregistrer une macro, vous pouvez faire:
qq
q
"qp
pour insérer la macro dans votre let @q = '...'
ligneCtrl+r Ctrl+r registerName
les entrées enregistrent le contenu sans les interpréter - mieux que "qp
. +1 pour la méthode in-vim néanmoins.
Pour une solution plus robuste, vous pouvez consulter Marvim .
Cela vous permet d'enregistrer une macro dans un espace de noms spécifique (ou d'utiliser le type de fichier comme espace de noms par défaut) et vous pouvez plus tard rechercher vos macros enregistrées et les charger dans un registre prêt à être utilisé.
Si vous réutilisez beaucoup de macros, c'est très utile.
Écrivez vos macros dans votre ~ / .vimrc, pour définir une macro lancée par CTRL + O par exemple, ajoutez la ligne suivante à votre ~ / .vimrc:
map <C-O> MACROTEXT
lorsque vous enregistrez une macro en tapant, qa
vous pouvez récupérer le texte de votre macro en tapant"ap
a
registre
La commande :mkexrc
(ou :mkvimrc
) peut être utilisée pour enregistrer tous les paramètres actuels :map
et :set
dans un fichier. Voir :help mkexrc
pour plus de détails.
Vous pouvez faire comme ça sur votre ~/.vimrc
:let @a="iHello World!\<CR>bye\<Esc>"
REMARQUE: vous devez utiliser des guillemets doubles pour pouvoir utiliser des touches spéciales comme dans \<this silly example>
.
CTRL-V <ESC>
mode insertion pour insérer le caractère correct. Un littéral<ESC>
ne fonctionne pas