Habilitar el resaltado de markdown en Vim


Estoy usando Vim en un terminal en mi MacBook Air con OS X Lion, y parece que no puedo encontrar un buen complemento para resaltar la sintaxis de Markdown.

Hasta ahora he probado el plasticboy plugin y Tim Pope's plugin. El plugin plasticboy funcionó bien, pero estaba causando que el espacio en blanco al final de las líneas se resaltara, y no he averiguado cómo desactivar eso. (Es realmente molesto, porque cada vez que golpeo space cuando estoy escribiendo resalta la caracter.)

El plugin de Tim no parecía hacer mucho en la forma de resaltar, aparte de tal vez encabezados que utilizan ###. Los bloques de código y las viñetas se ignoran. Puede que me esté perdiendo algo. Yo uso la extensión .md en mis archivos Markdown, por lo que debería estar recogiendo el tipo de archivo.

También he visto una referencia a Vim 7.3 que tiene soporte Markdown incorporado, pero sin uno de esos dos complementos no recibo ningún resaltado en absoluto.

Hacer cualquiera de estos requieren esquemas de color específicos para trabajar?

 128
Author: pb2q, 2012-06-10

5 answers

Esto debería funcionar para deshabilitar el resaltado de espacios al final de la línea cuando se usa el complemento mkd de plasticboy:

:syn clear mkdLineBreak

Podría autocmd que para las extensiones de archivo necesarias para que no tenga que hacerlo cada vez que cargue un archivo markdown.

Tenga en cuenta que este resaltado específico existe porque Markdown trata las líneas que terminan con 2 o más caracteres de espacio especialmente insertando un <br>, por lo que es útil.

El plugin plasticboy utiliza TODO resaltado para esto regla, que es un poco demasiado, ya que está diseñado para, por defecto, ser realmente estridente - fondo amarillo - para que se destaque. Puede hacer esto menos llamativo visualmente cambiando esa regla highlight. Una forma rápida de hacer esto sería algo como:

:hi link mkdLineBreak Underlined

Ahora esos espacios al final de la línea aparecerán subrayados. Intenta enlazar a otros grupos highlight para algo que pueda atraerte más. En lugar de usar link puede ser aún más específico sobre esos espacios de final de línea: por ejemplo, puede especificar que se muestran como sólo ligeramente más claro/más oscuro que el fondo normal, utilizando su propio highlight comando, especificando personalizado ctermfg, ctermbg, guifg, guibg ajustes.

Como anteriormente, podría autocmd esto para aplicar su configuración específica.

Para obtener más información sobre los grupos link highlight, escriba: :help group-name y verá una lista de grupos que se pueden vincular que ellos mismos deberían mostrar de manera útil usando sus reglas actuales highlight. También: :help highlight.

 21
Author: pb2q,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-06-20 20:14:03

Sobre el resaltado de sintaxis nativo para markdown Creo que solo funciona para archivos con la extensión .markdown por defecto.
Estaba teniendo problemas con el resaltado de sintaxis de markdown para mis archivos .md.
Lo intenté:

:set syntax=markdown

Y funcionó. Así que incluí la siguiente línea en mi .vimrc:

au BufNewFile,BufFilePre,BufRead *.md set filetype=markdown

Ahora mi vim tiene resaltado de sintaxis para mis archivos .md.

BufFilePre es necesario para: sav

 286
Author: PutzKipa,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:09:59

Resaltado de sintaxis nativo

El resaltado de sintaxis nativo para Markdown solo funciona de forma predeterminada para la extensión de archivo .markdown.

La siguiente línea en .vimrc produce los mejores resultados tanto para vim como para gvim:

autocmd BufNewFile,BufFilePre,BufRead *.md set filetype=markdown.pandoc

Explicación:

1. Especifique su sabor Markdown!

Si trabajas principalmente con un sabor de Markdown (por ejemplo, Pandoc), ¡asegúrate de mencionar esto también! Al hacerlo, permite mezclar y combinar tanto Markdown como Markdown Complementos Vim específicos de Pandoc. Por ejemplo: He encontrado el plug-in vim-pandoc-syntax particularmente adecuado para mis necesidades de resaltado. Sin embargo, utilizo el más general vim-markdown-folding para el plegado de Markdown.

Por cierto, solo se permite un sabor, separado por un punto, por ejemplo: filetype=markdown.pandoc

2. gvim requiere BufFilePre

gvim requiere un adicional BufFilePre en la línea autocommand para el reconocimiento de tipo de archivo Markdown con el Save As… :sav comando.

 16
Author: Serge Stroobandt,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-06-13 09:27:02

En El plugin de Tim la extensión .md solo funciona para README.md porque tipo de archivo.vim lo especifica.

" Markdown
au BufNewFile,BufRead *.markdown,*.mdown,*.mkd,*.mkdn,README.md  setf markdown
 13
Author: Spartan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-01-07 18:39:04

Si no le gusta poner toda su configuración en ~/.vimrc, puede crear ~/.vim/ftdetect/markdown.md (o su equivalente en Windows) con el siguiente contenido.

au BufNewFile,BufRead *.md setf markdown

 5
Author: ajmccluskey,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-05-05 08:42:07