Недавно я задал вопрос, в котором я узнал, что невозможно передать ничего, кроме параметров, :set
в vim modelines. Я понимаю проблемы безопасности, но мне интересно, нет ли другого способа обойти это. Недавний вопрос о SO о создании крупных партий параметров в соответствии с кодирующим стандартом заставил меня думать, было бы возможно определить «группу» вещи в моем файле гс , которые могут быть включены или выключен из режимных?
Извините за псевдокод, но есть ли способ создать функцию, которая запускается из заданного параметра?
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
Это может быть вызвано такой модельной линией, как
# vim: codestyle=psr-2
В некотором смысле это будет похоже на сопоставление типов файлов, но допускает ручное переопределение. Это также настроило бы окружение другими предопределенными способами, избегая проблем безопасности, связанных с тем, что файл запускал другие произвольные команды в vim, но позволяя более настраиваемую среду. Есть ли способ сделать это?
set
; AFAIK, это невозможно в Vim ...