185 votes

Enregistrement de macros vim

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

242voto

Dan Olson Points 11210

Utiliser q suivi d'une lettre à l'enregistrement d'une macro. C'est dans l'une des copier/coller de registres, de sorte que vous pouvez le coller comme d'habitude avec le "xp ou "xP des commandes en mode normal.

Pour sauvegarder, il vous ouvrira .vimrc et collez le contenu, puis le registre sera autour de la prochaine fois que vous démarrer vim.
Le format est quelque chose comme:

let @q = 'macro contents'

Soyez prudent de citations, cependant. Ils auraient échappé correctement.

Afin d'enregistrer une macro que vous pouvez faire:

  • Du mode normal: qq
  • entrez les commandes que
  • Du mode normal: q
  • ouvert .vimrc
  • "qp insérer la macro dans votre let @q = '...' ligne

22voto

random Points 141

Pour une solution plus robuste, vous pouvez commander Marvim .

Cela vous permet de sauvegarder une macro dans un espace de noms spécifique (ou d'utiliser le type de fichier comme espace de nom par défaut). Vous pourrez ensuite 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.

19voto

Raoul Supercopter Points 2943

Ecrivez 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

11voto

Matthew Slattery Points 21628

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X