Otwórz pliki .md jako Markdown

19

Vim domyślnie otwiera wszystkie pliki .md jako kod „modula2”. Nigdy nie słyszałem o modula2, ani nie planuję go używać.

Jak mogę powiedzieć vimowi, aby zawsze traktował foo.mdjak Markdown (tak jakbym pisał :set ft=markdown)?

Klamka
źródło
Na jakiej dystrybucji tak jest? Obecnie korzystam z Archlinux i .mdjest postrzegany jako wyprzedaż
Neikos
@Neikos To jest na Ubuntu 14.04.
Klamka
na Fedorze również poprawnie otrzymuję składnię Markdown na plikach .md
guido
2
Odpowiedź została już udzielona na SO. Możesz tam znaleźć więcej różnych informacji.
bsmith89
3
FYI, od Vima 7.4.480, *.mdpliki są domyślnie rozpoznawane jako Markdown zamiast modula2.
fwalch

Odpowiedzi:

10

W pliku filetype.vimdostarczonym z twoją dystrybucją znajdziesz linię, która prawdopodobnie wygląda podobnie do tej (na mojej maszynie, w której mieszka /usr/share/vim/vim74):

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

To mówi vimowi, aby ustawił typ pliku jako modula2, jeśli twój plik ma takie zakończenie.

Aby zastąpić to zachowanie, możesz umieścić taką linię w swoim własnym .vimrc(pochodzi z pliku fillinype.vim Archlinuxa):

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

Edytować:

Wcześniej miałem setftę funkcję do wywołania, ale wydaje się, że jest to funkcja zarezerwowana dla filetype.vimpliku.

Neikos
źródło
14

Obecnie mam ten wiersz jako brzydki hack w moim .vimrc:

autocmd BufRead *.md set ft=markdown

Nadal zastanawiam się, czy jest lepszy sposób.

Klamka
źródło
1
to nie działa w Fedorze, wygląda na to, że definicje /usr/share/vim/vim74/filetype.vim zastąpią to ustawienie
guido
@ guido, zastanawiam się, czy to zależy od tego, kiedy włączysz wykrywanie typu pliku? Jeśli dodasz to autocmdpo filetype on(z flagami plugin/ lub bez indent), zgaduję, że wyniki są lepsze. Nie testowane, tylko spekulacje.
tommcdo