Ouvrez les fichiers .md en tant que Markdown

19

Vim, par défaut, ouvre tous les fichiers .md en tant que code "modula2". Je n'ai jamais entendu parler de modula2 et je n'ai pas l'intention de l'utiliser.

Comment puis-je dire à vim de toujours traiter foo.mdcomme Markdown (comme si j'avais tapé :set ft=markdown)?

Poignée de porte
la source
Sur quelle distribution est-ce le cas? .md
J'exécute
@Neikos C'est sur Ubuntu 14.04.
Poignée de porte
sur fedora ainsi j'obtiens correctement la syntaxe de démarque sur les fichiers .md
guido
2
Cela a déjà été répondu sur SO. Vous pouvez y trouver des informations plus nombreuses et différentes.
bsmith89
3
Pour info, à partir de Vim 7.4.480, les *.mdfichiers sont reconnus comme Markdown au lieu de modula2 par défaut.
fwalch

Réponses:

10

Dans le fichier filetype.vimfourni avec votre distribution, vous trouverez une ligne qui ressemble probablement à ceci (sur ma machine, elle vit /usr/share/vim/vim74):

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

Maintenant, cela indique à vim de définir le type de fichier comme modula2 si votre fichier a une telle fin.

Pour remplacer ce comportement, vous pouvez mettre une ligne comme celle-ci dans votre propre .vimrc(Tiré de l'archlinux filetype.vim):

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

Éditer:

J'avais auparavant setfcomme fonction à appeler, mais il semble que ce soit une fonction réservée au filetype.vimfichier.

Neikos
la source
14

J'ai actuellement cette ligne comme un hack laid dans mon .vimrc:

autocmd BufRead *.md set ft=markdown

Je me demande toujours s'il y a une meilleure façon, cependant.

Poignée de porte
la source
1
cela ne fonctionne pas dans fedora, il semble que les définitions /usr/share/vim/vim74/filetype.vim remplaceront ce paramètre
guido
@guido, je me demande si cela dépend du moment où vous activez la détection de type de fichier? Si vous ajoutez cela autocmdaprès filetype on(avec ou sans les drapeaux plugin/ indent), je suppose que les résultats sont meilleurs. Non testé, juste spéculation.
tommcdo