Abrir arquivos .md como Markdown

19

O Vim, por padrão, abre todos os arquivos .md como código "modula2". Nunca ouvi falar do modula2, nem pretendo usá-lo.

Como posso dizer ao vim para sempre tratar foo.mdcomo Markdown (como se eu tivesse digitado :set ft=markdown)?

Maçaneta
fonte
Em que distribuição é esse o caso? Atualmente, estou executando o Archlinux e .mdestá sendo visto como remarcação
Neikos
@ Neikos Este é no Ubuntu 14.04.
Doorknob
no fedora assim eu recebo corretamente a sintaxe markdown em arquivos .MD
guido
2
Isso já foi respondido no SO. Você pode encontrar mais e diferentes informações lá.
precisa saber é o seguinte
3
Para sua informação, a partir do Vim 7.4.480, os *.mdarquivos são reconhecidos como Markdown em vez de modula2 por padrão.
precisa saber é

Respostas:

10

No arquivo filetype.vimenviado com sua distribuição, você encontrará uma linha que provavelmente se parece com esta (na minha máquina em que reside /usr/share/vim/vim74):

au BufNewFile,BufRead *.md,*.m2,*.mi setf modula2

Agora, isso diz ao vim para definir o tipo de arquivo como modula2 se o seu arquivo tiver esse final.

Para substituir esse comportamento, você pode colocar uma linha como esta .vimrc(Tirada do arquivo de arquivo Archlinux.vim):

au BufNewFile,BufRead *.markdown,*.mdown,*.mkd,*.mkdn,*.mdwn,*.md  set ft=markdown

Editar:

Eu tinha anteriormente setfa função a ser chamada, mas parece ser uma função reservada para o filetype.vimarquivo.

Neikos
fonte
14

Atualmente, tenho esta linha como um hack feio no meu .vimrc:

autocmd BufRead *.md set ft=markdown

Ainda estou me perguntando se existe uma maneira melhor, no entanto.

Maçaneta
fonte
1
isso não funciona no fedora, parece que as definições /usr/share/vim/vim74/filetype.vim substituirão essa configuração
guido
@ guido, gostaria de saber se isso depende de quando você ativar a detecção de tipo de arquivo? Se você adicionar isso autocmddepois filetype on(com ou sem os sinalizadores plugin/ indent), acho que os resultados são melhores. Não testado, apenas especulação.
tommcdo