29 votes

Vim: Mettez en surbrillance les paires de mots clés en Ruby (def / end, do / end, etc.)

Dans un de la, basé sur Eclipse, éditeurs que j'ai essayé récemment (je pense que c'était RubyMine), lorsqu'un Rubis mot-clé que soit ouverte ou fermée d'une méthode ou un bloc est sélectionné, le correspondant d'ouvrir/fermer le mot-clé a été mis en évidence. De la même manière que Vim est en mesure de mettre en évidence un correspondant ouvrir/fermer la parenthèse.

Par exemple, si je choisis un 'def', il mettrait en évidence le correspondant de la "fin". Il a également travaillé pour le faire/fin de bloc.

C'était vraiment très pratique, surtout pour les longues et parfois fortement imbriqués Rspec fichiers.

Quelqu'un sait comment y parvenir dans Vim?

15voto

deterb Points 2317

Si vous utilisez Vim 7.3, vous devez disposer de la macro vim MatchIt .

Ajoutez runtime macros/matchit.vim à votre fichier .vimrc et vous devriez pouvoir utiliser% pour faire correspondre les blocs de rubis.

Vous pouvez regarder le plugin filetype pour ruby pour voir de quoi il se déplacera.

7voto

owahab Points 902

VIM (jusqu'à 7.2) ne peut pas mettre en surbrillance une paire "if / end" de fermeture car les paramètres de correspondance acceptent un seul caractère (voir: aidez les paires de correspondances). Je recommande plutôt d'utiliser le pliage, à condition que vous indentiez précisément votre code:

 :set foldmethod=indent
 

Utilisez ensuite: zc , za pour vous assurer que vous êtes dans le bon bloc.

2voto

Taryn East Points 9698

On dirait que ce plugin vim fait une correspondance paren: http://vimdoc.sourceforge.net/htmldoc/pi_paren.html vous pourriez probablement creuser dans ce code pour voir comment l'étendre pour faire correspondre d'autres choses.

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