2009-06-30 4 views
6

Je ne suis pas sûr que ce soit possible, mais je suis intéressant pour que cela se produise.
Idéalement, je voudrais mapper cette fonction pour SHIFT +CTRL + .Est-ce que Vim a une fonction de commentaire automatique basée sur la syntaxe du fichier?

Je cherche un moyen pour que Vim entre un commentaire (une seule ligne) qui correspond à la syntaxe du fichier que je suis en train d'éditer. S'il y a plusieurs styles de commentaires sur une seule ligne, Vim pourrait en choisir un automatiquement ou me donner le choix. Si le commentaire sur une seule ligne comporte deux parties (par exemple /* et */), puis en appuyant sur SHIFT + CTRL + la première fois commencera le commentaire, et la deuxième fois fermera le commentaire.

Exemples:

  • Python: #
  • JavaScript: //
  • C, C++: /* avec */ ou //

Je sais qu'il ya des scripts qui insérera commentaires pour toi, mais je n'en ai vu aucun qui fera ça bas ed sur la syntaxe du fichier.

Répondre

5

Sorte de! Je ne crois pas que vim puisse le faire dès la sortie de la boîte, mais vous pouvez installer des plugins qui feront des commentaires assez intelligents (en utilisant les touches de déplacement, la mise en évidence de la ligne visuelle, etc.) spécifiques au type de fichier édité. Vous pouvez retirer ces plugins de vim.org, et vous devriez être capable de faire vos propres mappages de clés dans votre fichier .vimrc si vous n'aimez pas ceux avec lesquels ils viennent.

tComment est assez bien considéré, et a travaillé pour moi.

J'ai entendu dire que EnhCommentify pourrait être mieux, mais je ne l'ai pas utilisé moi-même.

+0

Merci! Les deux semblent plutôt bien. Je vais les essayer un jour aujourd'hui. –

2

Voir: this script qui fournit une fonction a commenté une zone en surbrillance en mode visuel.

Vous voulez commencer un commentaire en mode d'insertion de sorte que votre fonction ressemblerait plus:

fun CommentLines() 
    exe ":[email protected]^@".g:Comment."@g" 
endfun 
-1

Pas tout à fait ce que vous cherchez, mais efficace, et je suppose que vous savez quel commentaire utiliser. (tout cela en mode commande) Placez votre curseur sur la première ligne que vous souhaitez commenter.Nous willl ensuite définir un marqueur appelé (noms valides sont az, caractère) en tapant

ma 

mettre le curseur sur la dernière ligne, puis définissez un marqueur appelé b en tapant

mb 

Ensuite, commenter le bloc entier (en recherchant un saut de ligne et d'insérer le caractère de commentaire (notez l'utilisation de « # » comme séparateur de recherche parce que sinon wee doivent échapper à la «/»)

:'a,'bs#^#//# 

ou pour Python:

:'a,'bs/^/#/ 

décommenter:

:'a,'bs#^//## 

Comme nous le faisons ligne des commentaires, il n'a pas d'importance si nous avons d'autres commentaires déjà dans le fichier, ils seront conservés.

Questions connexes