Recentemente, fiz uma pergunta na qual aprendi que não é possível passar nada, exceto parâmetros, :set
nas modelines do vim. Entendo as preocupações de segurança, mas estou me perguntando se não há outra maneira de contornar isso. Uma pergunta recente sobre o SO sobre a definição de grandes lotes de parâmetros para obedecer a um padrão de codificação me fez pensar: seria possível definir um "grupo" de coisas no meu arquivo rc que podem ser ativadas ou desativadas a partir da modelagem?
Desculpe o pseudo-código, mas existe uma maneira de criar uma função que é acionada a partir de um parâmetro definido?
set_function! codestyle()
if &1 == 'psr-2'
set ts=4
set sw=4
endfi
if &1 == 'drupal7'
set ts=2
set sw=2
iab D8 Drupal 8
endif
endset_function
Isso poderia ser acionado por uma modelagem como
# vim: codestyle=psr-2
De certa forma, isso seria semelhante à correspondência de tipo de arquivo, mas permitirá substituições manuais. Ele também configuraria o ambiente de outras maneiras predefinidas, evitando os problemas de segurança de um arquivo executar outros comandos arbitrários no vim, mas permitindo um ambiente mais personalizado. Existe uma maneira de fazer isso?
set
; AFAIK, isso não é possível no vim ...