Pergunta

Digamos que eu carrego um arquivo .txt no vim. Então eu quero mudar o filetype=html Mas também quero uma ftplugin associada carregada. Como posso fazer isso?

Eu tentei coisas como: :set filetype plugin on e :set filtype plugin_name e também :filetype plugin_name em etc etc., mas não consigo carregar manualmente a ftplugin. Alguma sugestão?

eu tentei :filetype=html e depois :filetype plugin on e outras combinações sem sucesso.

EDIT: Eu não consegui "completamente" resolver isso com nenhuma das respostas (mas talvez algo individual para minha configuração). No entanto, as respostas de Pierre foram muito boas, então estou dando a ele a marca de seleção verde.

Foi útil?

Solução

Tenho certeza de que quando você muda o tipo de arquivo usando :set ft=X Ele carregará automaticamente o plug -in associado na sua pasta .vim/ftplugin. Por exemplo :set ft=html Carregaria .vim/ftplugin/html.vim onde você carregaria plugins associados. No entanto BufEnter e BufNew As cargas do plug -in associadas aos arquivos HTML não serão carregadas, pois a configuração de um novo FileType não aciona esses eventos. Portanto, se você possui plugins específicos para HTML no seu .vimrc que são carregados com BufNew ou BufEnter Você pode colocá -los em um arquivo .vim/ftpluging/html.vim.

Você sempre pode adicionar uma modelo ao seu arquivo de texto que altera o FileType. Por exemplo <!-- vim: ft=html -->.

Outras dicas

:filetype on
:set filetype=html

Acabei de ter a mesma situação em que os ftplugins não estavam carregando, mesmo que eu tivesse um arquivo Perl aberto. Acontece que minha cópia de Vim (de Git for Windows) não veio com ftplugin.vim e ftplugof.vim

Veja como cheguei a essa percepção:

  1. :filetype

    • Verifique se o plug -in FileType está realmente ativado.

  2. :scriptnames

    • Imprima a lista de scripts de origem, não descobriu nenhum script de ftplugin\ é proveniente.
    • Eu não percebi naquele momento, mas eu deveria ter notado que não vi ftplugin.vim lá.

  3. Verifique se o diretório vim ({git-path}/share/vim/vim{version}/) tem o ftplugin.vim e ftplugof.vim

    • Esses arquivos são adquiridos quando você executa :filetype plugin on e :filetype plugin off

Para consertar isso, peguei os arquivos ausentes do Arquivos de tempo de execução do vim e copiado para onde deveria ir.

O VIM carrega automaticamente o plug -in correto quando você altera o FileType

:set ft=python

Você pode iniciar o vim no modo detalhado:

vim -V

Isso mostrará o que o VIM está executando. Se você abrir um arquivo e definir manualmente o FileType, o VIM mostrará se estiver carregando o plug -in correto.

:f something.html
:w
:e
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top