He foldmethod=indentestablecido en mi ~/.vimrc, y en general eso funciona para mí y me gustaría mantenerlo.
Sin embargo, hay algunos archivos que tengo que edito regularmente (y que están bajo mi control exclusivo), donde me gustaría agregar un sistema basado en marcadores, en particular para que cuando abra el archivo una sección grande rara vez se mira (que ya está 'delimitado' por sangría) está predoblado. Parece que foldmethod=markerme permitiera hacer eso (no me importa que otro comentario en el archivo para indicar estos 'pre-pliegues' si es necesario), pero todavía quiero foldmethod=indentestablece de modo que pueda utilizar zc, zoy así sucesivamente a continuación, doblar o desplegar secciones por sangría. Por lo que puedo decir, no puedo establecer el método de plegado en múltiples valores.
¿Hay alguna otra manera de lograr esto (idealmente usando algo incrustado en el archivo)?

Respuestas:
Cada ventana puede tener su propio valor local de
'foldmethod'; lo que configura~/.vimrces solo el valor predeterminado global. Hay varias formas de establecer un valor local diferente para un búfer en particular ::setlocal foldmethod=marker:autocmd FileType java setlocal foldmethod=marker(o en~/.vim/after/ftplugin/java.vim):autocmd BufRead /path/to/file setlocal foldmethod=markerTodavía puede haber solo un método de plegado dentro de una sola ventana. Si desea emplear diferentes estrategias, debe elegir un método más flexible (por ejemplo
expr) y volver a implementar el "otro" método (s) allí (por ejemplo, haciendo que'foldexpr'considere la sangría). O usa dos divisiones de ventana para el mismo búfer y establece diferentes métodos de plegado para cada división.Dado que probablemente eso no sea lo que quieres escuchar, podrías hackear algo junto con un
:autocmd CursorMovedque cambia el método de plegado en función de la línea actual:fuente
zc,zo, y así sucesivamente ya no funcionará como se pretende en ese búfer. He aclarado mi pregunta.