web-dev-qa-db-ja.com

.mdファイルに構文の強調表示はありませんか?

Vimは.markdownファイルを適切に強調表示しますが、.mdファイルタイプに慣れていないようです。質問でのコメント https://stackoverflow.com/questions/10964681 は、.mdがマークダウンファイルに使用するのに間違ったファイル拡張子であることを示唆しているようです。私は少し混乱しています。

.mdは間違った拡張子ですか?そうでない場合、なぜVimは構文を強調表示しないのですか?

Vimバージョン:7.4

15
krystah

分析

$VIMRUNTIME/filetype.vimには、次のものがあります。

" Markdown
au BufNewFile,BufRead *.markdown,*.mdown,*.mkd,*.mkdn,README.md  setf markdown

したがって、README.mdのみがMarkdownとして検出されます。 *.mdを検索すると、同じファイルに1つの理由が見つかります。

" Modula 2
au BufNewFile,BufRead *.m2,*.DEF,*.MOD,*.md,*.mi setf modula2

説明

MIMEタイプ(レジストリが存在する場合)とは異なり、ファイル拡張子は標準化されておらず、(特に短いものの場合)、複数の可能な意味が重複しています。それらをどのように処理するかを決めるのはあなた次第です。 foo.mdがModula2ソースコードよりもMarkdownファイルを意味する可能性がはるかに高い場合は、Vimのデフォルトをオーバーライドするだけです。経由して

au BufNewFile,BufRead *.md  setf markdown

~/.vim/ftdetect/markdown.vimで、または:help new-filetypeで説明されているように。

12
Ingo Karkat

autocmd BufRead,BufNew *.md setf markdown

vim 7.4では機能しなかったので、ファイルタイプを設定する「古い」従来の方法を使用する必要がありました。

autocmd BufRead,BufNew *.md set filetype=markdown

これにより、*.mdファイルが正しく強調表示されます。

9
Patryk

これらの行を~/.vimrcに追加します。

augroup markdown

    " remove previous autocmds
    autocmd!

    " set every new or read *.md buffer to use the markdown filetype 
    autocmd BufRead,BufNew *.md setf markdown

augroup END
8
romainl

ファイルを.markdownで終了してみてください-長いかもしれませんが、それは私にとってはトリックです。

1
Billy McCloskey