VIM是否有"来电()"像Perl这样的内置函数?

时间:2016-03-13 13:41:42

标签: vim

我正在寻找一种在执行VIM脚本(例如,堆栈跟踪)期间打印调用函数的方法,类似于Perl中的caller()支持。

VIM是否有这样的内置支持?

1 个答案:

答案 0 :(得分:0)

这是可能的。但它绝对不是内置功能。我通过抛出异常并解码v:throwpoint来攻击它。我不会在这里重现代码,因为它足够复杂并且IMO超出了SO的范围。

所有内容都可以在lh#exception#callstack()

中找到

如果仔细观察,您会看到调用堆栈中的每个函数都被提取,在scriptnames中搜索,以便推断出调用发生的代码的确切行。我也避免提取我已有的信息。

我用它来定义一个日志功能,用当前的呼叫点填充quickfix窗口。