Nenhum destaque de sintaxe em arquivos .md?

15

O Vim realça corretamente .markdown arquivos, mas parece não estar familiarizado com .md filetypes. Um comentário na pergunta link parece implicar que .md é a extensão de arquivo errada a ser usada para arquivos de marcação. Estou um pouco confuso.

.md é a extensão incorreta? Se não, por que o Vim não está destacando sua sintaxe?

Versão do Vim: 7.4

    
por krystah 14.01.2014 / 13:50

4 respostas

11

Análise

Em $VIMRUNTIME/filetype.vim , você encontrará isto:

" Markdown
au BufNewFile,BufRead *.markdown,*.mdown,*.mkd,*.mkdn,README.md  setf markdown

Portanto, somente README.md é detectado como Markdown. Um motivo pode ser encontrado no mesmo arquivo ao pesquisar por *.md

" Modula 2
au BufNewFile,BufRead *.m2,*.DEF,*.MOD,*.md,*.mi setf modula2

Explicação

Ao contrário dos tipos MIME (onde existe um registro), as extensões de arquivo não são padronizadas e (especialmente as curtas), vários significados possíveis se sobrepõem. Cabe a você decidir como você quer que eles sejam manipulados. Se for muito mais provável que foo.md signifique arquivo Markdown que código-fonte Modula 2, apenas sobrescreva o padrão do Vim, por exemplo via

au BufNewFile,BufRead *.md  setf markdown

em ~/.vim/ftdetect/markdown.vim ou conforme descrito em :help new-filetype .

    
por 14.01.2014 / 14:10
8

Adicione estas linhas ao seu ~/.vimrc :

augroup markdown

    " remove previous autocmds
    autocmd!

    " set every new or read *.md buffer to use the markdown filetype 
    autocmd BufRead,BufNew *.md setf markdown

augroup END
    
por 14.01.2014 / 14:09
8

O

autocmd BufRead,BufNew *.md setf markdown

não funcionou para mim no vim 7.4, então eu tive que usar a 'velha' maneira tradicional de configurar o tipo de arquivo:

autocmd BufRead,BufNew *.md set filetype=markdown

e isso realça os arquivos *.md corretamente.

    
por 18.06.2014 / 15:42
1

Tente finalizar o arquivo com .markdown - pode ser longo, mas isso é o suficiente para mim.

    
por 14.01.2014 / 13:56

Tags