В последние годы я использовал vim для редактирования конфигураций и скриптов на удаленных серверах. Пару недель назад я решил сделать следующий шаг и попытаться использовать (Mac) vim в качестве своего обычного редактора помимо Sublime Text 2. Теперь я достиг точки, где хотел бы создать свой первый плагин.
Мой плагин определит ~ 16 глобальных переменных, которые могут быть назначены пользователем для настройки определенных свойств плагина. Я спросил себя, что было бы самым элегантным способом (возможно, субъективным) проверить, присвоил ли пользователь определенное значение определенной переменной. Я проверил различные другие плагины, и "шаблон", который я вижу до сих пор, кажется, всегда:
if !exists("g:pluginname_setting")
let g:pluginname_setting="default"
endif
Это кажется легким и прямым. Но я всегда повторяю один и тот же кусок кода снова и снова. Поскольку vi (m) существует довольно долгое время, я уверен, что люди пробовали много способов писать плагины, и была разработана какая-то "лучшая практика", которую я предполагаю, это "шаблон", который я дал выше В качестве примера. Тем не менее, было бы более элегантным назвать функцию для заполнения словаря, который содержит все настройки плагина, а затем перебирает словарь, чтобы проверить ключи, чтобы узнать, уже ли пользователь уже определил свои личные предпочтения? Будет ли это хорошей идеей или я должен просто отказаться от идеи и придерживаться подхода ìf !exists()
?