Como carregar plugins na hora?

1

Um parceiro e eu mantemos Vimified , um projeto de configuração do Vim, usando Vundle .

Com o passar do tempo, o arquivo de configuração está crescendo à medida que tentamos propor as melhores configurações para mais e mais idiomas.

Temos o gerenciamento de pacotes ( leia mais ), que permite instalar apenas o pacote que tem um papel para o que você cuidado.

Como na minha empresa, há muitos programadores poliglotas. E começamos a pensar no que poderia ser uma maneira melhor de tornar o Vim mais rápido, mesmo se eu precisar oferecer suporte a vários idiomas, já que conheço vários idiomas.

E então, começamos a dizer: E se pudéssemos carregar os plugins na hora de acordo com a extensão do arquivo?

Sabemos que, por padrão, o Vim altera sua configuração com base na extensão do arquivo (por exemplo, a sintaxe). Começamos a descobrir que também poderíamos usar autocmd , mas depois de uma ou duas horas, não consegui descobrir como fazer isso.

Alguém teria uma ideia? Ou é realmente possível?

    
por Adrien Giboire 17.06.2013 / 10:39

1 resposta

4

Os plug-ins específicos de idioma devem residir no subdiretório ftplugin/ e definir sua funcionalidade apenas para o buffer atual. Dessa forma, eles só são carregados quando o tipo de arquivo é editado, e sua inicialização do Vim permanece enxuta e rápida.

Plugins de uso geral (ou seja, coisas que se aplicam a todos os tipos de buffers) são instalados pelo usuário; com um gerenciador de plugins como o Vundle , isso se resume a uma única linha no seu ~/.vimrc e um único comando; Eu não acho que pode ficar mais fácil do que isso.

Com o mecanismo autoload introduzido no Vim 7, os plugins precisam apenas definir seus autocmds, mapeamentos e comandos em plugin/<name>.vim , a implementação real longa é então fornecida sob demanda quando usada pela primeira vez. Este é o seu melhor aliado na manutenção dos custos de inicialização do Vim.

Em vez de inventar outro esquema complexo de gerenciamento de pacotes (que invariavelmente confunde os usuários com suas novas convenções; veja as muitas perguntas sobre distribuições como spf-13 e Janus ), consistentes O uso de esquemas existentes deve ser capaz de fazer com que o Vim inicie e inche um não problema, e isso beneficiará todos os usuários de plugins, não apenas aqueles que se movem para o seu esquema.

As "distribuições" do Vim o atraem com configurações rápidas e prontas para uso, mas você paga o preço com maior complexidade (é necessário entender o esquema de carregamento do Vim e as convenções arbitrárias da distribuição) e inflexibilidade (o distribuição pode facilitar algumas coisas, mas outras coisas muito difíceis). O Vim é incrivelmente personalizável, usar a customização de outra pessoa não faz sentido.

    
por 17.06.2013 / 11:12

Tags