31 votes

Quelle est votre façon préférée de commenter plusieurs lignes dans vim?

Il arrive le plus souvent que je doive commenter plusieurs lignes à la fois dans vim. Les méthodes que je connais ne sont pas aussi rapides que la manière TextMate de commenter les lignes.

Quelle est votre façon préférée de le faire?

J'utilise actuellement

Méthode 1:

  - go to first char of a line and use blockwise visual mode (CTRL-V)
 - go down/up until first char of all lines I want to comment out are selected
 - use SHIFT-I and then type my comment character (# for ruby)
 - use ESC to insert the comment character for all lines
 

Méthode 2:

  - Select lines I need to comment out using linewise visual mode (V)
 - typing : gives me :'<,'> promt which I extend to :'<,'>s/^/#/
 

Méthode 3:

  - go to the first line to be commented out
 - make a bookmark for example typing mm 
 - go to the last line to be commented out
 - type :'m,.s/^/#/
 

J'aime le plus la méthode 1, mais j'espère toujours qu'il y a une meilleure façon.

9voto

CMS Points 315406

Je pense que vous avez décrit les moyens les plus populaires de commenter le code, mais si vous êtes ouvert à l'utilisation des scripts Vim, jetez un œil à ceux-ci:

4voto

rossipedia Points 10922

J'ai eu des problèmes avec le dernier NERD_Commenter. Il a juste cessé de fonctionner et a appliqué aveuglément / * * / à tout, quel que soit le type de fichier.

Cela étant dit, j'utilise simplement l'approche Control + V Shift + I.

3voto

zen Points 4033

J'utilise un clavier pour la partie regex, mais je fais d'abord la même sélection visuelle. Utilisant généralement:

 vip
 

pour obtenir le bloc visuel (sélection visuelle de paragraphe)

puis en utilisant

 \cc
\co
 

pour ajouter / supprimer des commentaires (cc, co choisi pour des raisons de mémoire musculaire)

avec les mappages définis dans .vimrc comme:

 vmap <leader>cc :s/^/#/<cr>
vmap <leader>co :s/^#//<cr>
 

2voto

Josh Albert Points 39

Bien que ce soit assez ancien, je voulais juste ajouter ma solution qui est assez similaire à tout le monde mais ajoute la fonction de non mise en surbrillance. Dans mon fichier .vimrc, j'ai les cartes suivantes:

 :vmap `c :s/^/\/*/<cr>gv:s/$/*\//<cr>:noh<cr>i
:vmap `r :s/^\/\*//<cr>gv:s/\*\/$/<cr>:noh<cr>i
 

Remarque: J'utilise / * ligne de code * / style de commentaire pour être compatible avec l'ancien code c. Dans vim, je surligne simplement les lignes et j'appuie sur `c pour commenter et` r pour supprimer les commentaires.

1voto

Sridhar Iyer Points 1186

Normalement, je sauvegarde simplement l'étape dans une macro, puis j'invoque la macro de la manière qui me convient.

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