Если вы не можете найти свою пользовательскую функцию в выводе function
без аргументов, то это, вероятно, анонимная функция, объявленная так:
let g:dict={}
function g:dict.f()
echo "here"
endfunction
В этом случае единственный способ получить его определение - это использовать function g:dict.f
(добавьте verbose
, поскольку @skeept предложил узнать, где оно определено). Обратите внимание, что вы не можете использовать завершение табуляции здесь и не можете получить список всех анонимных функций.
Вместо g:dict.f
в function g:dict.f
вы можете использовать function {N}
, где N
- любое выражение, которое возвращает номер анонимной функции, например function {substitute(string(g:dict.f), '^.*\(\d\+\).*$', '\1', '')}
. Или просто function {242}
, если все, что вы получаете, это ошибка типа Error detected while processing function 243..242:
и вы хотите увидеть определение функции 242.