¿Cómo puedo habilitar y hacer el plegado de código en Vim?
¿Tengo que cambiar algo ~/.vimrc
?
Escribo z+ ay z+ cy z+ oy no pasa nada.
Aquí hay un artículo sobre plegado: Código plegado en Vim .
¿Cómo puedo habilitar y hacer el plegado de código en Vim?
¿Tengo que cambiar algo ~/.vimrc
?
Escribo z+ ay z+ cy z+ oy no pasa nada.
Aquí hay un artículo sobre plegado: Código plegado en Vim .
Respuestas:
No, no tiene que poner el comando desde la página que el vínculo en el ~/.vimrc
, solo tendrá que teclear ellos después de la emisión :
de vim
obtener pronta el comando.
Sin embargo, si pones las líneas:
set foldmethod=indent
set foldnestmax=10
set nofoldenable
set foldlevel=2
como se indica en el enlace que proporcionó, en su ~/.vimrc
, no tiene que escribirlos cada vez que quiera usar el plegado en un archivo. Esto set nofoldenable
asegura que al abrir, los archivos sean "normales", es decir, no estén plegados.
:
. Escribe los set
comandos después del mensaje que recibes al escribir :
. El zc
que escribe cuando puede mover libremente el cursor, al igual que lo utilice zt
para obtener el texto se encuentra el cursor a la parte superior de la pantalla actual.
El método de plegado predeterminado de Vim manual
significa que los pliegues se crean manualmente; de lo contrario, no hay dobleces a ser cerrado o abierto utilizando za, zoo zccomo usted describió. Pero, puede crear un pliegue zf{motion}
en modo Normal o zfen modo Visual ; Por ejemplo, zfjcrea un pliegue para la línea actual y la siguiente siguiente en modo Normal .
indent
La respuesta aceptada, por @Anthon, describe cómo configurar el método de plegado en indent
; es decir, el plegado se define por el nivel de muescas.
syntax
De una manera más conveniente, los pliegues se pueden crear automáticamente en función de la sintaxis del idioma del búfer actual. Si está utilizando un lenguaje de programación, llamémoslo L , y tiene una definición plegable de L (por ejemplo, ha instalado un complemento Vim en el que se define la información plegable de L ; como c.vim para C / C ++ o python -mode para Python), solo necesita configurar el método de plegado para syntax
:
set foldmethod=syntax
Eso es. Los comandos más útiles para trabajar con pliegues son:
foldlevel
por uno.foldlevel
por uno.foldlevel
a cero: todos los pliegues estarán abiertos.No tiene que usarlo sistemáticamente: generalmente selecciono manualmente los pliegues por el movimiento o la sección. Por ejemplo, doblar un párrafo es zfip
y doblar las siguientes 20 líneas es zf20j
. Use za
para alternar y zd
eliminar.
Esto requiere un poco más de trabajo, pero permite que el plegado refleje la tarea en cuestión.
Puede habilitar folding
en la sesión actual como la respuesta de @ Anthon. Pero si desea que sea permanente, debe establecer al menos esta línea en el .vimrc
trabajo de plegado:
set foldmethod=indent
indent
es algo plegable, puedes ver más de :help foldmethod
'foldmethod' 'fdm' string (default: "manual")
local to window
{not in Vi}
{not available when compiled without the +folding
feature}
The kind of folding used for the current window. Possible values:
fold-manual manual Folds are created manually.
fold-indent indent Lines with equal indent form a fold.
fold-expr expr 'foldexpr' gives the fold level of a line.
fold-marker marker Markers are used to specify folds.
fold-syntax syntax Syntax highlighting items specify folds.
fold-diff diff Fold text that is not changed.
Ahora, cada vez que abre un archivo con vim
, puede ver que el código se dobla por el método que se configuró. A continuación, puede utilizar za
, zc
, zo
.