Vimは.markdown
ファイルを適切に強調表示しますが、.md
ファイルタイプに慣れていないようです。質問でのコメント https://stackoverflow.com/questions/10964681 は、.md
がマークダウンファイルに使用するのに間違ったファイル拡張子であることを示唆しているようです。私は少し混乱しています。
.md
は間違った拡張子ですか?そうでない場合、なぜVimは構文を強調表示しないのですか?
Vimバージョン:7.4
$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
で説明されているように。
の
autocmd BufRead,BufNew *.md setf markdown
vim 7.4では機能しなかったので、ファイルタイプを設定する「古い」従来の方法を使用する必要がありました。
autocmd BufRead,BufNew *.md set filetype=markdown
これにより、*.md
ファイルが正しく強調表示されます。
これらの行を~/.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
ファイルを.markdownで終了してみてください-長いかもしれませんが、それは私にとってはトリックです。