Comment afficher le niveau d'identification sur vim au lieu des tabulations?

0

my .vimrcmontre des lignes verticales pour que je puisse suivre facilement les blocs d’identification, comme à peu près tous les éditeurs de texte / IDE.

if(x == 1){
|   if( y == 1){
|   |   y();
|   }
}

y a-t-il moyen de rendre cela plus utile et d'afficher le niveau d'identification à la place? Je ne vais pas le confondre avec le code réel, car j’utilise déjà un contraste extrêmement faible pour ces couleurs.

if(x == 1){
1   if( y == 1){
1   2   y();
1   }
}

Ce serait vraiment utile de trouver mon niveau d'imbrication dans des méthodes folles que je dois refactoriser sur mon travail. Mon travail actuel consiste à disposer de fenêtres horizontales afin que je puisse quitter le premier lorsque les blocs commencent à devenir fous et le dernier dans lequel je navigue pour changer de code.

PS: j'ai déjà des plugins Rainbow Parenthesis. mais ceux-ci n'aident plus.

gcb
la source
1
Pas que je sache, mais il y a des tonnes de plugins vim, donc il pourrait y avoir quelque chose. Si vous n'obtenez pas de réponse ici, vous pouvez essayer de demander ici .
blm

Réponses:

0

Je n'ai pas assez de représentants pour commenter votre question, alors je poste une réponse à la place et la mettrai à jour si je peux trouver quelque chose de mieux. Voici ma "réponse":

Ce n'est pas exactement ce que vous demandez, mais avez-vous déjà essayé ": set list"? (": set nolist" à désactiver). S'il s'agit d'onglets durs (de vrais caractères d'onglets, par exemple ^I), cela affichera un ^Ipour chaque onglet. De cette façon, vous pouvez voir et compter visuellement le nombre de tabulations pour une ligne donnée. C'est pourquoi je dis que ce n'est pas exactement ce que vous recherchez, par exemple le format que vous avez fourni / suggéré dans votre question.

De plus, FWIW, j’avais aussi l’habitude d’utiliser lorsque je travaille avec un code moins complexe (par exemple, des centaines de LOC et au plus quelques fichiers). Une fois que j'ai commencé à travailler sur des projets comportant des milliers de millions de LOC et des centaines de fichiers, j'ai commencé à utiliser pour aligner les crochets (un peu de la même idée que vous recherchez, OMI). Cela aide vraiment lorsque vous utilisez également balancer des supports dans vim. J'utilise également la division de la fenêtre horizontale, car certains codes sont parfois trop longs (demandant sa propre fonction, etc.).
if(statement){
// code here...
}


if ( (complexStatement) )
{
// code here...
}

%

HTH

tiles
la source
Vous pouvez vous référer à ce post . La réponse non acceptée pointe le PO vers :help listchars. Dans la documentation, vous pouvez définir votre propre style pour les affichages à onglets, par exemple à la >---place de ^I. Peut-être essayer ça? Aucun plugin requis.
tniles
0

Eh bien, cela ne fait pas exactement ce que vous voulez, parce que ce n'est pas possible. Mais vous pouvez utiliser mon plugin DynamicSigns pour afficher le niveau d'indentation dans la colonne de gouttière. Définir :let g:Signs_IndentationLevel=1et courir :Signs.

Voir l'aide à :h DynamicSigns.txtpour ce que vous pouvez faire avec.

Christian Brabandt
la source