Анализ
В $VIMRUNTIME/filetype.vim
вы найдете это:
" Markdown
au BufNewFile,BufRead *.markdown,*.mdown,*.mkd,*.mkdn,README.md setf markdown
Таким образом, только README.md
определяется как Markdown. Одна причина может быть найдена в том же файле при поиске *.md
" Modula 2
au BufNewFile,BufRead *.m2,*.DEF,*.MOD,*.md,*.mi setf modula2
объяснение
В отличие от типов MIME (где существует реестр), расширения файлов не стандартизированы, и (особенно для коротких) несколько возможных значений перекрываются. Вам решать, как вы хотите, чтобы они обрабатывались. Если гораздо более вероятно, что foo.md
означает файл Markdown, чем исходный код Modula 2, просто переопределите значение по умолчанию Vim, например, через
au BufNewFile,BufRead *.md setf markdown
в ~/.vim/ftdetect/markdown.vim
или как описано в :help new-filetype
.