La sintaxis foldmethod
es excelente, pero a veces solo quiero doblar los comentarios en un archivo fuente.
También el plegado de sintaxis de comentarios solo funciona para comentarios de estilo C como:
/*
...
*/
Pero no para comentarios repetitivos como:
//
//
// ...
//
O incluso para bloques de comentarios en lenguajes no similares a C como:
#
#
# ...
#
¿Cómo puedo configurar esto con vim?
Respuestas:
Plegar solo los comentarios es bastante fácil usando
foldmethod=expr
:Esto simplemente verificará si la línea comienza con cualquier cantidad de espacio en blanco + un carácter de comentario. Tenga en cuenta que esto es bastante ingenuo y puede no funcionar para todos los idiomas. Por lo tanto, es posible que desee utilizar un autocmd para ser más específico:
Para obtener más información sobre fold-expr, consulte:
:help fold-expr
:help folding-functions
El uso del plegado de sintaxis y el plegado de comentarios es más complicado; esto requeriría modificar el archivo de sintaxis
/usr/share/vim/vim74/syntax/*.vim
y será específico para el idioma que esté utilizando.Tenga en cuenta que algunos tipos de archivos ya hacen esto. Por ejemplo de
ruby.vim
:fuente
Me gusta doblar con sangría pero incluir los comentarios en el pliegue (quiero decir que cada comentario obtiene el mismo nivel de pliegue que la línea anterior).
Desafortunadamente, la palabra clave foldignore solo funciona para comentarios de una línea. Entonces doblo con expr en vimrc:
El último bloque:
Devuelve una base de doble nivel en la sangría.
Y el otro :
Comprueba si el primer carácter de la línea se considera como un comentario con la sintaxis. Por lo tanto, es una buena forma de fusionar sangría y sintaxis con expresión, el plegado más avanzado.
Tenga en cuenta que también puede "establecer foldtext" dependiendo de cómo desee que se vea el resultado.
fuente
Puede seleccionar visualmente el bloque comentado con
vac
y luego crear un plegado manualzf
.El objeto de texto de comentario puede ser una extensión de lenguaje para establecer un conjunto de objetos de texto vim estándar. Probado con la sintaxis Go.
fuente
ac
no es un incorporado. Pero con el comentario de tpopegc
es un objeto de texto. Entonces, mejores soluciones sonzfac
,zfgc
ozfip
en el peor de los casos