.mdファイルの構文のハイライトはありませんか?


15

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

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

Vimバージョン: 7.4


.md7.3 を使用すると構文が強調表示されます。構成の決定である可能性があります。これはGNU / Linux Debian Wheezyです。
174140

1
.md間違った拡張子ですか?」Markdownの作成者は、最近このトピックについてコメントしました。
マイクセプロヴィッツ14年

回答:


12

分析

$VIMRUNTIME/filetype.vim、あなたはこれを見つけるでしょう:

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

したがって、README.mdMarkdownとしてのみ検出されます。1つの理由は、同じファイルで検索するときに見つけることができます*.md

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

説明

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

au BufNewFile,BufRead *.md  setf markdown

~/.vim/ftdetect/markdown.vim、またはに記載されているように:help new-filetype


9

autocmd BufRead,BufNew *.md setf markdown

私のためにvim 7.4では動作しませんでしたので、ファイルタイプを設定する「古い」伝統的な方法を使用する必要がありました:

autocmd BufRead,BufNew *.md set filetype=markdown

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


3
これはあなたが望むものです。上位の回答は機能しません。
マイケルフォックス

8

以下にこれらの行を追加します~/.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

1
バッファの各エントリでファイルタイプを再設定するのはなぜですか?ftdetectイベントの標準セットはBufNewFile,BufReadであり、ここでも十分なはずです。
インゴカルカット

1

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


ええ、それがうまくいきます。ただし、.mdファイルがマークダウンファイルである場合、Vimでそれらを適切に再生するつもりです!GitHub READMEの用途.mdも同様です。
クリスタ

.markdownGitHubでも実際に使用できます。とにかく、どちら.mdかを使用するか.markdown、他のサポートがそれほど広くないためです。
nyuszika7h 14年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.