Dans vim, je règle généralement foldmethodà indentla plupart des types de fichiers. En général, j'aime que les fichiers s'ouvrent avec tous les plis ouverts. Cependant, il est utile de commencer immédiatement à utiliser zmpour commencer à fermer les plis globalement à travers le fichier, un niveau à la fois, ce qui me permet de voir la structure globale du fichier sans que des détails ne gênent.
La seule solution générale que j'ai trouvée consiste à définir foldlevelstartun nombre très élevé, par exemple 99, pour s'assurer que tous les fichiers (en gardant à l'esprit que différents fichiers auront différents niveaux de retrait maximum) commencent complètement dépliés. Cependant, je devrais ensuite utiliser à zmplusieurs reprises pour réduire foldlevelle niveau de pliage maximum du fichier, normalement beaucoup moins que 99, ce qui est lourd et peu pratique. Je pouvais définir foldlevelmanuellement à l'aide de la ligne de commande vim, mais j'avais encore besoin de connaître le retrait maximal dans le fichier.
Existe-t-il un moyen pratique d'ouvrir un fichier dont la valeur foldlevelest exactement égale à un de plus que le niveau de retrait / pli maximal actuel dans le fichier lui-même?
Par exemple, étant donné le fichier suivant:
a
b
c
d1
d2
e
f1
f2
La première pression sur zmafficherait ceci:
a
b
c
+-- 2 lines: d1------
e
+-- 2 lines: f1------
(Notez, cependant, que cela devrait fonctionner pour le cas général où le retrait maximal initial du fichier pourrait être n'importe quelle valeur).
zm= plier plus (soustraire le niveau de pli) et zr= plier moins (ajouter le niveau de pli)
zraveczm; ce dernier réduit le niveau de pliage.