Vim Script: можно ли ссылаться на локальные переменные скрипта в отображениях?
994
Steve Vermeulen
Я знаю, что вы можете ссылаться на локальные функции скрипта, используя, <SID>но как насчет локальных переменных скрипта? Я попробовал следующее, и ударить <c-space>не удалось:
Вы можете обойти это, написав функции доступа (как указано выше), но иногда было бы неплохо иметь возможность ссылаться напрямую.
2 ответа на вопрос
5
Ingo Karkat
Нет, локальные переменные сценария действительно являются частными для сценария. Вы действительно должны написать функцию доступа.
В плагинах это не такая большая проблема, потому что они должны разделять функции (и вместе с ними переменные состояния скрипта) на скрипты автозагрузки, поэтому отображения / команды (определенные в скрипте плагина ) должны в любом случае ссылаться на другой скрипт ,
2
dabyly
Я изначально хотел это прокомментировать, но мне нужно 50 респ. Вот небольшое предложение, и я надеюсь, что его цель.
его можно использовать (в сценарии, где определена переменная)
exe "nnoremap <c-space> :echo ".s:testVar."<cr>"
Я использую это для вставки пути s: var в отображениях, определенных в моем .vimrc. Дайте мне знать, если я пропустил суть, или что-то ...
Обратите внимание, что это будет захватывать значение переменной при выполнении строки, а не использовать «живое» значение при запуске отображения.
Kevin Cox 5 лет назад
0