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).
fuente
zr
conzm
; 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
foldlevelstart
no tiene una opción como esta.foldlevel
es 0 yfoldlevelstart
es -1 cuando inicio un archivo con esa configuración.En lugar de usar
zr
, usezR
, que abrirá todos los pliegues. Del mismo modo,zM
cerrará todos los pliegues.fuente
zR
(establecer el nivel de plegado en el nivel más alto) y luegozm
funcionará. Es solo un paso extra.La opción le
set nofoldenable
permite comenzar el archivo con todos los pliegues abiertosfuente