Quelle est la meilleure stratégie pour le code des morceaux et des macros dans vim?

StackOverflow https://stackoverflow.com/questions/54401

  •  09-06-2019
  •  | 
  •  

Question

Comme je l'ai développer plus avec vim, je me surprends à vouloir copier dans les blocs de code utile, semblables à des "modèles" dans Eclipse.

Je pensais faire un fichier distinct pour chaque code chunk et il suffit de lire avec

:r code-fornext

mais qui semble tout type de primitive.Une recherche sur google, j'ai trouver vim macros mentionné quelque chose à propos de "cartes", mais rien qui semble simple.

Ce que je suis à la recherche pour, par exemple,quelque chose comme de l'Éclipse de "Modèles" donc je pop dans un code de bloc avec le curseur assis au milieu d'elle.Ou JEdit de "Macros" qui je peux enregistrer de faire compliqué pour supprimer et renommer sur une seule ligne, alors je peux jouer à nouveau sur les 10 autres lignes de sorte qu'il n'a même à eux.

Ne vim a rien comme ces deux fonctionnalités?

Était-ce utile?

La solution

Enregistrer des macros dans Vim, dans le mode de commande, frapper la q touche et une autre clé que vous souhaitez affecter la macro.Rapide jeter les macros j'ai l'habitude de frapper juste qq et affecter la macro à l' q clé.Une fois que vous êtes en mode d'enregistrement, courir à travers vos coups de clés.Lorsque vous avez terminé, assurez-vous que vous êtes de retour en mode commande et frapper q nouveau pour arrêter l'enregistrement.Alors pour rejouer la macro manuellement, vous pouvez taper @q.À la relecture précédemment exécuter la macro, vous pouvez taper @@ ou à exécuter 10 fois, vous pouvez taper 10@q ou 20@q, etc..

En résumé:

+----------------------------------+-------------------------------------+
| start recording a macro          | qX (X = key to assign macro to)     |
+----------------------------------+-------------------------------------+
| stop recording a macro           | q                                   |  
+----------------------------------+-------------------------------------+
| playback macro                   | @X (X = key macro was assigned to)  |
+----------------------------------+-------------------------------------+
| replay previously played macro   | @@                                  |
+----------------------------------+-------------------------------------+

En ce qui concerne le code des morceaux, j'ai découvert et commencé à utiliser Vim plug-in appelé snipMate, qui imite TextMate de la fonctionnalité d'extraits de code.Vous pouvez obtenir le plug-in ici:

http://www.vim.org/scripts/script.php?script_id=2540

Et un petit article sur l'utilisation de snipMate (avec une courte vidéo de démonstration montrant en cours d'utilisation):

http://www.catonmat.net/blog/vim-plugins-snipmate-vim/

Espérons que vous trouverez ce utile!

Autres conseils

Sur vim.wikia, vous trouverez une catégorie de conseils consacré à des extraits de code et abréviations de l'expansion.Vous verrez également une liste de plugins qui facilitent la définition des complexes extraits/modèles-fichiers.

HTH,

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top