Onde os usuários devem colocar funções vim customizadas?

4

Algumas funções são específicas do tipo de arquivo, e estou me perguntando qual é a melhor prática para organizar essas funções. Devo defini-las em ftplugin como funções locais de script ou colocar tudo em autoload ?

    
por Cyker 09.12.2016 / 08:54

2 respostas

6

Depende.

Primeiro, seja pragmático. Se for apenas uma função curta e usada apenas localmente, não tenho nenhum escrúpulo em colocá-las diretamente no meu ~/.vimrc ou em um script ~/.vim/ftplugin/*.vim . O último é um pouco ineficiente, porque a função é redefinida para cada arquivo aberto que tenha o mesmo tipo de arquivo.

Você já conhece as funções de carregamento automático e, claro, esse é o lugar canônico para colocar funções personalizadas. As pessoas dogmáticas insistirão que os plug-ins (ft-) contêm apenas configuração, mapeamentos, comandos personalizados e :autocmd , e todas as funções serão colocadas em ~/.vim/autoload/ . Eu recomendaria que para qualquer função mais longa (ou conjuntos de funções que chamam uns aos outros), ou qualquer coisa que você pretende publicar para outra pessoa reutilizar.

Para plug-ins de tipo de arquivo, adotei a convenção de colocar essas funções em ~/.vim/autoload/ft/{filetype}.vim ou ~/.vim/autoload/ft/{filetype}/{submodule}.vim .

    
por 09.12.2016 / 13:53
0

Esta é uma preferência pessoal. Eu gosto de construir por arquivos de configuração do vim para ser o mais modular possível. Eu costumo dividir seções semelhantes e colocá-las em arquivos separados do original .vimrc .

Você pode ver um exemplo da minha coleção pessoal de arquivos pontuais

    
por 22.01.2017 / 17:29

Tags