Откройте .md файлы как Markdown


19

Vim по умолчанию открывает все файлы .md в виде кода "modula2". Я никогда не слышал о modula2 и не планирую им пользоваться.

Как я могу сказать vim всегда обращаться foo.mdс Markdown (как если бы я печатал :set ft=markdown)?


В каком распределении это происходит? Я в настоящее время работает Archlinux и .mdв настоящее время рассматривается в качестве уценки
Neikos

@Neikos Это на Ubuntu 14.04.
Ручка

на Fedora я правильно получаю синтаксис уценки для файлов .md
guido

2
На это уже отвечали на SO. Вы можете найти больше и другую информацию там.
bsmith89

3
К вашему сведению, начиная с Vim 7.4.480, *.mdфайлы распознаются как Markdown вместо modula2 по умолчанию.
fwalch

Ответы:


10

В файле filetype.vim, поставляемом с вашим дистрибутивом, вы найдете строку, которая, вероятно, похожа на эту (на моей машине она находится /usr/share/vim/vim74):

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

Теперь это говорит vim установить тип файла как modula2, если у вашего файла такое окончание.

Чтобы переопределить это поведение, вы можете поместить такую ​​строку в свою собственную .vimrc(взято из Archlinux filetype.vim):

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

Редактировать:

Раньше у меня была setfфункция, которая должна быть вызвана, но, похоже, это зарезервированная функция для filetype.vimфайла.


14

В настоящее время у меня есть эта строка как уродливый хак в моем .vimrc:

autocmd BufRead *.md set ft=markdown

Мне все еще интересно, есть ли лучший способ, хотя.


1
это не работает в Fedora, кажется, что определения /usr/share/vim/vim74/filetype.vim переопределяют этот параметр
guido

@ Guido, интересно, зависит ли это от того, когда вы включаете определение типа файла? Если вы добавите это autocmdпосле filetype on(с или без plugin/ indentflags), я думаю, результаты будут лучше. Не проверено, просто предположение.
Tommcdo
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.