저는 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()