Tipo de arquivo não detectado

1

Estou usando o vim para experimentar um sistema de modelos chamado guidão e instalei um plugin vim para obter algum destaque de sintaxe para * .handlebars. Eu posso obter coloração se eu fizer isso: :set filetype=handlebars , mas quando eu abro um modelo, ele é monocromático. Minha pasta .vim se parece com isso:

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

O que eu posso tentar para obter a detecção automática de tipo de arquivo?

Aqui está o conteúdo de handlebars.vim:

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

Eu acho que tenho autocmd, porque: autocmd produz algo.

UPDATE

Aqui está o conteúdo do meu .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

Aqui está minha pasta .vim se alguém quiser dar uma olhada: link

    
por greg0ire 01.10.2011 / 16:55

2 respostas

1

Eu finalmente encontrei a resposta eu mesmo. As duas chamadas de patógenos no topo do meu arquivo .vimrc fazem algo que não é suficiente para considerar a coloração. Usando esta chamada, o truque:

call pathogen#infect()
    
por 03.10.2011 / 23:20
1

Primeiro. Ao editar um de seus arquivos .hbs ou .handlebars, emita :set ft? no vim e veja se o tipo de arquivo está sendo detectado.

Se você não vir filetype=handlebars , tente definir :filetype on no seu arquivo .vimrc e teste novamente.

Se isso não funcionar, talvez seja necessário colocar um arquivo filetype.vim no diretório .vim .

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

salve isso como $ HOME / .vim / filetype.vim

  • é realmente 'filetype.vim', não handlebars.vim, no diretório .vim.

Em seguida, tente :set ft? novamente, em uma nova sessão de vim.

Seu arquivo handlebars.vim, no diretório $ HOME / .vim / ftplugin, deve conter as regras de sintaxe para o que você deseja exibir quando estiver editando um arquivo .hbs, como este aqui .

    
por 02.10.2011 / 06:06