web-dev-qa-db-fra.com

Enregistrement des macros vim

Est-ce que quelqu'un sait comment sauvegarder/réutiliser correctement les macros enregistrées dans un éditeur vim?

153
jnadro52

Utilisez q suivi d'une lettre pour enregistrer une macro. Cela va juste dans l'un des registres copier/coller afin que vous puissiez le coller comme d'habitude avec le "xp ou "xP commandes en mode normal.

Pour l'enregistrer, vous ouvrez .vimrc et collez le contenu, puis le registre sera autour de la prochaine fois que vous démarrez vim.
Le format est quelque chose comme:

let @q = 'macro contents'

Attention cependant aux citations. Il faudrait les échapper correctement.

Donc, pour enregistrer une macro, vous pouvez faire:

  • Depuis le mode normal: qq
  • entrez les commandes
  • Depuis le mode normal: q
  • ouvrir .vimrc
  • "qp pour insérer la macro dans votre let @q = '...' ligne
198
Dan Olson

Pour une solution plus robuste, vous pouvez commander Marvim .

Il 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 ensuite rechercher vos macros enregistrées et les charger dans un registre prêt à l'emploi.

Si vous réutilisez beaucoup de macros, cela est très utile.

20
random

É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 votre texte de macro en tapant "ap

18
Raoul Supercopter

Le :mkexrc (ou :mkvimrc) peut être utilisée pour enregistrer tous les :map et :set paramètres d'un fichier. Voir :help mkexrc pour plus de détails.

11
Matthew Slattery

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 clés spéciales comme dans \<this silly example>.

3
SergioAraujo