En vim, normalmente puse foldmethoda indentla mayoría de los tipos de archivo. En general, me gusta que los archivos se abran con todos los pliegues abiertos. Sin embargo, es útil comenzar a usar inmediatamente zmpara comenzar a cerrar pliegues a nivel mundial en todo el archivo, un nivel a la vez, lo que me permite ver la estructura general del archivo sin que se interpongan detalles.
La única solución general que he encontrado es establecer foldlevelstartun número muy alto, por ejemplo, 99, para asegurarme de que todos los archivos (teniendo en cuenta que los diferentes archivos tendrán diferentes niveles de sangría máxima) comiencen a desplegarse por completo. Sin embargo, tendría que usarlo zmrepetidamente para reducir foldlevelel nivel de plegado máximo del archivo, normalmente mucho menos de 99, lo cual es engorroso y poco práctico. Podría configurarlo foldlevelmanualmente usando la línea de comando vim, pero aún necesitaría saber la sangría máxima en el archivo.
¿Hay alguna manera práctica de abrir un archivo con un valor foldlevelestablecido exactamente uno más que el nivel máximo de sangría / pliegue actual en el archivo?
Por ejemplo, dado el siguiente archivo:
a
b
c
d1
d2
e
f1
f2
La primera pulsación de tecla zmmostraría esto:
a
b
c
+-- 2 lines: d1------
e
+-- 2 lines: f1------
(Tenga en cuenta, sin embargo, que debería funcionar para el caso general donde la sangría máxima inicial del archivo podría ser cualquier valor).
fuente

zrconzm; este último reduce el nivel de plegado.zm= doblar más (restar pliegue) yzr= doblar menos (agregar pliegue)Respuestas:
Esto encuentra el nivel de plegado más alto en el archivo actual:
Para configurar esto automáticamente, puede usar un
:autocmd:fuente
foldlevelstartno tiene una opción como esta.foldleveles 0 yfoldlevelstartes -1 cuando inicio un archivo con esa configuración.En lugar de usar
zr, usezR, que abrirá todos los pliegues. Del mismo modo,zMcerrará todos los pliegues.fuente
zR(establecer el nivel de plegado en el nivel más alto) y luegozmfuncionará. Es solo un paso extra.La opción le
set nofoldenablepermite comenzar el archivo con todos los pliegues abiertosfuente