En vim, normalmente puse foldmethod
a indent
la 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 foldlevelstart
un 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 foldlevel
el nivel de plegado máximo del archivo, normalmente mucho menos de 99, lo cual es engorroso y poco práctico. Podría configurarlo foldlevel
manualmente 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 foldlevel
establecido 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).
zm
= doblar más (restar pliegue) y zr
= doblar menos (agregar pliegue)
zr
conzm
; este último reduce el nivel de plegado.