
Vim tem a noção decaracterísticas, ou seja, subconjuntos de funcionalidades que podem ou não ser suportadas em uma instalação real, com base em sinalizadores de tempo de compilação. A presença de um recurso pode ser verificada com a has()
função e todos os recursos possíveis podem ser enumerados com o feature-list
comando.
Quero que meu script vim seja mais robusto, verificando os recursos antes de usá-los. Meu problema é que não está documentado explicitamente qual comando depende de qual recurso.
Exemplo específico: algumas distribuições Linux são fornecidas vim.tiny
por padrão, o que é uma versão do vim
. Se eu iniciar vim.tiny
, ele .vimrc
exibirá muitas mensagens de erro. Por exemplo, o let
comando não está disponível, mas não é óbvio qual recurso fornece esse comando. Como eu poderia determinar isso com segurança? Ou, se não for possível, como eu faria com que minha inicialização do vim fosse degradada normalmente vim.tiny
?
Responder1
Direcionando um plugin Vim paravim-minúsculoé difícil, pois consiste em ummuitoconjunto de recursos limitado. Pretende ser uma substituição enxuta devi, suportando apenas alguns mapeamentos, nada mais.
Dito isto, é realmente possível detectar e afirmar certas capacidades, usando has()
e exists()
. Os erros :let
poderiam ser evitados envolvendo :if 1
, mas como eu disse, é melhor buscar um Vim com recursos "normais" e apenas adicionar verificações de disponibilidade de coisas mais recentes (comoesconder, desfazer persistente, introduzido no Vim 7.3) e correções de bugs essenciais (mas apenas se você precisar delas).