Evite volver a formatear las listas de viñetas con formatoptions + = a

9

Estoy usando Vim formatoptions +=acomo se describe en Vim: ajuste de texto para documentos para formatear líneas automáticamente mientras escribo documentos, especialmente documentos de Markdown.

Mi problema es que Vim quiere reformatear también las listas de viñetas porque hay una línea en blanco entre cada viñeta.

Lo que pasa es que VIM reformatea

This is wath we will do:

* task 1,
* task 2,
* task 3.

dentro

This is wath we will do:

* task 1,   task 2,   task 3.

(Tampoco entiendo por qué los asteriscos desaparecen en este proceso de reformateo).

¿Cómo puedo hacer que Vim deje de formatear estas listas?

gioele
fuente
Los asteriscos desaparecen porque Vim los confundió con comentarios de líderes.
gioele

Respuestas:

5

Prueba esto:

  • agregar na formatoptionsvim reconoce listas ( :set fo+=n)
  • configure la formatlistpatopción para reconocer el asterisco como viñetas ( set flp+=\\\|^\\*\\s*) (tenga en cuenta que la cantidad de barras invertidas depende de su magicnivel de ness).

No es perfecto según mis pruebas, pero parece estar cerca.

jw013
fuente
3

¿Está filetypeconfigurada la opción markdowncuando edita sus archivos Markdown? Puede usar :verbose set filetype?para inspeccionar el valor actual.

Cuando se ha ejecutado :filetype plugin on(por ejemplo, de su .vimrc), y filetypeestá ajustado en markdown, Vim fuente $VIMRUNTIME/ftplugin/markdown.vimque configurar algunas opciones ( comments, formatlistpaty formatoptions) que deben ayudar con el formato Markdown elementos de la lista.

Nota: El patrón de nombre de archivo Markdown común en *.mdrealidad se asigna al modula2tipo de archivo por $VIMRUNTIME/filetype.vim. Es posible que desee anular esta configuración si utiliza habitualmente este patrón de nombre de archivo para sus archivos Markdown. Puede hacerlo poniendo esto en su .vimrcarchivo:

autocmd! filetypedetect BufNewFile,BufRead *.md setfiletype markdown

Alternativamente, puede agregar una línea de modelo a cada archivo:

<!-- vim: set filetype=markdown : -->
Chris Johnsen
fuente
Los archivos de sintaxis de tpope (el que estoy usando) establecen formatlistpath en github.com/tpope/vim-markdown/blob/master/ftplugin/markdown.vim . Por alguna razón parece que el ftplugin no está cargado ...
Jueves
1
Ese vim-markdowncomplemento debería ser suficiente, pero debe habilitar su funcionalidad (y la de otros complementos de tipo de archivo) con :filetype plugin on. Ver :help :filetype-plugin-on.
Chris Johnsen