파일 형식이 감지되지 않음

파일 형식이 감지되지 않음

저는 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 파일 상단에 있는 두 개의 병원체 호출은 색상을 고려할 만큼 충분하지 않습니다. 목적은 다음 호출을 사용하여 달성됩니다.

call pathogen#infect()

관련 정보