我有一个基本的VIM功能问题:(我试着用搜索引擎并不能找到答案)VIM自定义函数的定义/位置
- 我如何列出所有自定义 功能(我做:功能,不能 找到我的自定义功能)
- 如何在自定义函数列表 (或存储它们的位置)中获得 函数的定义。
谢谢您的帮助
我有一个基本的VIM功能问题:(我试着用搜索引擎并不能找到答案)VIM自定义函数的定义/位置
谢谢您的帮助
假设你的函数被调用MyFunction的,那么下面的工作对我来说:
:verbose function My<tab>
(用于<标签>我的意思其实按标签)
如果你的函数在vim中加载,它应该显示在那里,你可以看到它的定义。
如果你不能找到在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的定义。
感谢匿名函数方法 – kite 2010-09-27 09:32:32
感谢,现在我可以做(:详细函数列出所有函数及其位置。:详细功能partOfName ,和:详细函数functionName) –
kite
2010-09-27 08:22:44
@kite'verbose function'不会列出* all *函数,只有那些不是匿名的函数。例如,我的一些插件根本不包含非匿名函数。 – ZyX 2010-09-27 08:38:12