Dans vim, je règle généralement foldmethod
à indent
la 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 foldlevelstart
un 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 foldlevel
le niveau de pliage maximum du fichier, normalement beaucoup moins que 99, ce qui est lourd et peu pratique. Je pouvais définir foldlevel
manuellement à 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 foldlevel
est 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)
zr
aveczm
; ce dernier réduit le niveau de pliage.