4

のファイル拡張子に基づいてファイルタイプを変更したいvim

私の中に次のコードがあります.vimrc

autocmd BufNew,BufNewFile,BufRead *.txt,*.text,*.md,*.markdown setlocal ft=markdown

しかし、拡張ファイルでファイルを開くと、ファイル.mdタイプは変更されません。コマンドを実行する:set ftと、出力がfiletype=modula2.

私は何か間違ったことをしていますか?

編集:

古いファイルの名前を変更してデバッグを開始し、.vimrcこの行だけで新しいファイルを作成しました。正常に動作していました。.vimrcその後、古いファイルを置き換えましたが、すべて正常に動作しているようです。私が使用しているアドオンのいくつかの問題が原因だったと思います。

しかし、これを行う別の方法だと思ったので、ZyXの答えを受け入れます。

4

3 に答える 3

9

~/vim/ftdetect/markdown.vimこの行でファイルを作成しました

autocmd BufNewFile,BufRead *.md,*.mkdn,*.markdown :set filetype=markdown

ファイルタイプのドキュメントを読んで、setfiletypeファイルタイプが設定されていない場合にのみ設定します。setしたがって、ファイルタイプへの無条件の変更に使用する必要があります。

于 2013-04-18T09:53:59.317 に答える
3

この行が の前後にあるのか疑問に思いfiletype … onます。前者の場合、この行の後に (自動コマンド) を入れてみてください。の代わりに入れて~/.vim/ftdetect/markdown.vim使用する方が良い:setfiletype markdownsetlocal ft=markdown

augroup filetypedetect
    autocmd BufNew,BufNewFile,BufRead *.txt,*.text,*.md,*.markdown :setfiletype markdown
augroup END

: これは、そのようなことを行うデフォルトの方法です。この場合、オプションのパスの~/.vim前に移動する必要があります (デフォルトではそうします)。/usr/share/vim/*'runtimepath'

于 2012-10-07T12:15:29.467 に答える
1

Vim\vim74\syntax ディレクトリにターゲット構文ファイルの名前を変更したコピーを作成することで、代替ファイル拡張子の構文強調表示を取得できました。

*.md を .markdown として開くには:

コピーmarkdown.vim md.vim

または、markdown.vim のコピーを構文フォルダーに貼り付けてから、コピーの名前を md.vim に変更します。

(win7でvim74を実行)

于 2016-02-08T21:20:58.203 に答える