0

我正在开发一个 vim 'logging' 插件。我正在尝试将任何调用挂接到“source”、“echo”、“echo”、“echoerr”。AFAIK,您通常在“事件”上执行任意代码的方式是通过使用带有 autocmd-event 的 autocmd(grp) - 但是似乎无法通过这种方法挂钩任何这些命令。

有什么建议怎么可能?

编辑:

我目前正在玩这个,并将我正在做的事情推到这里的一个要点:

4

1 回答 1

0

有一个SourcePre事件允许您挂钩脚本。

您可以通过以下方式访问过去的消息

:redir => var
:silent messages
:redir END

可能会定期参加CursorHold活动。

但请仔细重新考虑是否需要“日志插件”。我认为这最好在核心 Vim 中完成,而不是在 Vimscript 中完成,而且 Vim 已经提供了相当好的日志基础设施(cp.'verbose''verbosefile')。还有像 DrChip 的 Decho 这样的插件用于检测您的 Vimscript 代码。

于 2015-11-05T20:34:07.333 回答