folding – Vimwiki: no se pueden doblar los elementos de la lista

Pregunta:

Con vimwiki puede plegar encabezados y listas de la siguiente manera:

Ejemplo de encabezados y plegado de listas:

= My current task =
  * [ ] Do stuff 1
    * [ ] Do substuff 1.1
    * [ ] Do substuff 1.2
      * [ ] Do substuff 1.2.1
      * [ ] Do substuff 1.2.2
    * [ ] Do substuff 1.3
  * [ ] Do stuff 2
  * [ ] Do stuff 3

Pulse zM :

= My current task = [8] --------------------------------------

Pulse zr :

= My current task =
  * [ ] Do stuff 1 [5] --------------------------------------
  * [ ] Do stuff 2
  * [ ] Do stuff 3

Pulsa zr una vez más:

= My current task =
  * [ ] Do stuff 1
    * [ ] Do substuff 1.1
    * [ ] Do substuff 1.2 [2] -------------------------------
  * [ ] Do substuff 1.3
  * [ ] Do stuff 2
  * [ ] Do stuff 3

El plegado de encabezado ( = Header = ) funciona para mí, pero el plegado de lista ( * [ ] list ) no.

Vimwiki dice esto sobre el plegado de listas, pero no entiendo qué significa exactamente:

NOTA: Si usa la sintaxis predeterminada de vimwiki, plegar los elementos de la lista funcionará correctamente solo si todos están sangrados con el ancho de turno actual. Para MediaWiki, * o # deben estar en la primera columna.

Mi vimrc es el siguiente:

call vundle#begin()
Plugin 'vimwiki'
call vundle#end()

set nocompatible
filetype plugin on
syntax on
set foldmethod=syntax

Respuesta:

Listas plegables en VimWiki

De acuerdo con la documentación en vimwiki versión 2.1 (la última que encontré), hay algunos métodos de plegado, y de ellos solo uno funciona para plegar elementos de lista.

La configuración está en la variable g:vimwiki_folding . from :help g:vimwiki_folding :

Habilita / deshabilita la funcionalidad de plegado (contorno) de vimwiki. El plegado en vimwiki puede utilizar el método de plegado 'expr' o el método de plegado de 'sintaxis' de Vim.

 Value Description '' Disable folding. 'expr' Folding based on expression (folds sections and code blocks). 'syntax' Folding based on syntax (folds sections; slower than 'expr'). 'list' Folding based on expression (folds list subitems; much slower).

Predeterminado: ''

Dado que su vimrc está configurando foldmethod=syntax explícitamente, y no menciona la configuración g:vimwiki_folding , supongo que está obteniendo la configuración de sintaxis, que solo admite secciones.

Agregar

let g:vimwiki_folding='list'

a su vimrc y debería funcionar.

También puede ejecutar ese comando y luego volver a abrir el archivo (por ejemplo, con ': e') y observar el trabajo de plegado.

Ancho de cambio

También preguntaste sobre la sangría del ancho de turno. En Vim, el shiftwidth se utiliza en comandos de cambio y sangría automática (por ejemplo, >> ). El valor predeterminado es 8 y es igual al tabstop . Si no se mete con esa configuración, estará bien con sus listas con sangría.

Si los cambia pero no los tiene iguales, estará bien siempre que su lista tenga sangría con >> y << , o los comandos glm y gll específicos de VimWiki, que usan la configuración de shiftwidth y así sería compatible con el plegado.

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım