Как мне сбросить переменную в Vim? - PullRequest
21 голосов
/ 22 апреля 2011

У меня есть плагин, который устанавливает глобальную переменную и проверяет ее каждый раз, когда плагин загружается, чтобы избежать многократной загрузки. Я хотел бы разрешить перезагрузку плагина (разрешить перезагрузку плагина) без изменения самого плагина. Плагин просто проверяет, существует ли его переменная (т. Е. exists('g:var_name')) - есть ли способ отменить указанную переменную, чтобы проверка exists() вернула ложь?

p.s. Я не хочу изменять сам плагин, потому что я использую патоген с подмодулями git , указанными на репо плагина.

Ответы [ 2 ]

29 голосов
/ 22 апреля 2011

Я нашел документацию Vim для vimscript , в которой есть раздел по переменным :

Чтобы удалить переменную, используйте команду ": unlet",Пример:

:unlet s:count
2 голосов
/ 22 апреля 2011

Вы должны быть в состоянии :unlet g:var_name.

Проблема в том, что если функции, определенные в плагине, не определены с function!, вы получите много ошибок, когда плагин будет получен во второй раз. Плагин также может выполнять начальную настройку, которая может быть испорчена, если запустить его дважды.

В общем, если автор плагина добавил загруженную ловушку, это, вероятно, есть причина.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...