Можно ли получить список объявленных переменных с выражением VimL (он же VimScript)? Я хотел бы получить тот же набор значений, который будет представлен для команды, используя -complete=expression. Цель состоит в том, чтобы расширить этот список для использования в определенной пользователем функции завершения команды.
-complete=expression
Вы можете использовать g: в качестве словаря, который содержит все глобальные переменные, поэтому:
g:
let globals = keys(g:)
даст вам все имена.То же относится и к другим областям: b:, s:, w: и т. Д. Полный список см. В :help internal-variables.
b:
s:
w:
:help internal-variables
Вы можете получить нечто подобное, используя ключи словарей g:, b:, t:, w: и v:, но остерегайтесь следующих фактов:
t:
v:
count
g:count
l:count
b:changedtick
@@@
g:@@@
000
g:["@@@"]