ファイル形式が検出されない

ファイル形式が検出されない

私はvimを使って次のテンプレートシステムを試しています。ハンドルバー、取付けましたvimプラグイン*.handlebarsの構文強調表示を取得します。これにより色が表示されますが、:set filetype=handlebarsテンプレートを開くと単色です。私の.vimフォルダは次のとおりです。

.
|-- autoload
|   `-- pathogen.vim
|-- bundle
|   |-- handlebars
|   |   |-- example.handlebars
|   |   |-- ftdetect
|   |   |   `-- handlebars.vim
|   |   |-- ftplugin
|   |   |   `-- handlebars.vim
|   |   |-- indent
|   |   |   `-- handlebars.vim
|   |   |-- MIT-LICENSE
|   |   |-- README.md
|   |   `-- syntax
|   |       `-- handlebars.vim

自動ファイル形式検出を取得するにはどうすればよいですか?

これはhandlerbars.vimの内容です:

if has("autocmd")
  au BufNewFile,BufRead *.handlebars,*.hbs set filetype=handlebars
endif

:autocmdが何かを出力するのでautocmdがあるようです。

修正する

私の.vimrcの内容は次のとおりです。

call pathogen#runtime_append_all_bundles()
call pathogen#helptags()
syntax on
set softtabstop=2 
set shiftwidth=2
set tabstop=2
set expandtab
set number
set background=dark
set laststatus=2 
set statusline=%<%f\ %h%m%r%{fugitive#statusline()}%=%-14.(%l,%c%V%)\ %P
colorscheme solarized
filetype on
filetype plugin on

誰もが見たい場合は、ここに私の.vimフォルダがあります。https://github.com/greg0ire/dotvim

答え1

最初。 .hbsファイルまたは.handlebarsファイルのいずれかを編集するときは、:set ft?vimでコマンドを実行してファイルの種類が検出されていることを確認してください。

表示されない場合は、次の項目にfiletype=handlebars追加してみてください。:filetype on.vimrcファイルを送信してもう一度テストしてください。

それでも機能しない場合は、以下を追加する必要があります。ファイルの種類.vimあなたのファイル.精力目次。

if exists("did_load_filetypes")
  finish
endif
augroup filetypedetect
  au! BufRead,BufNewFile *.hbs,*.handlebars setf handlebars
augroup END

これを別の名前で保存してください$HOME/.vim/filetype.vim

  • これは実際にはHandlebars.vimではなく、.vimディレクトリにある「filetype.vim」です。

その後、:set ft?新しいvimセッションでもう一度やり直してください。

$ HOME / .vim / ftpluginディレクトリにあるhandlerbars.vimファイルには、.hbsファイルを編集するときに表示したいすべてのエントリの構文規則が含まれている必要があります。ここでこれ

答え2

ついに私は自分で答えを見つけました。私の.vimrcファイルの上部にある2つの病原体呼び出しは、色を考慮するのに十分ではありません。目的は、次の呼び出しを使用して達成されます。

call pathogen#infect()

関連情報