Cuando muevo líneas con m
(p :m+1
. Ej. ) Todos mis pliegues están cerrados. Entonces puedo abrir el plegado zv
nuevamente y el cursor estará en la posición a la que me moví. Uso plegado con {{{ }}}
marcas y tengo set foldmethod=marker
en mi .vimrc.
¿Cómo puedo evitar que vim cierre los pliegues al mover líneas?
vim -u NONE -U NONE -N
. Puede ser un problema con su vimrc o un complemento.vim -u NONE -U NONE -N fold-test
y solo ajustefoldmethod=marker
. Estoy ejecutando Vim 7.4.712 en Arch. Si intento lo mismo con Vim en Vim 7.4.160 en CentOS 7, obtengo exactamente los resultados opuestos (todos los pliegues se abren cuando se usa:m+1
). Y Vim 7.2.441 en CentOS 6 funciona bien ... Todas lasfold*
configuraciones parecen ser las mismas en estas máquinas.Respuestas:
Puede desactivar el plegado antes de hacerlo
:m+1
mediante el usozi
. Y luego habilítelo nuevamente conzi
.También puede agregar una asignación especial para eso en su .vimrc:
fuente
El plegado es un mecanismo bastante complicado (vea otra respuesta que di sobre los pliegues para una discusión matizada del escaneo plegado).
Para dar una respuesta completa, necesitaremos ver qué tipo de complementos está cargando al iniciar una instancia de vim.
Apuesto a que hay algunos complementos que están alterando la configuración predeterminada de vim (
vim -u NONE
debería haber reproducido esto). Cualquier complemento que cambie elfoldmethod
es una causa probable (trataría de eliminarlos 1 por 1 y ver qué causa el problema)Si no quiere entrometerse con sus complementos, le recomiendo ajustar manualmente la configuración de sintaxis + análisis y luego abra un búfer de prueba para confirmar su funcionalidad. Puede ser un viaje frustrante lograr que juegue bien, pero con una incansable excavación
:help
deberías poder luchar contra la bestia que se está doblando.fuente