我试图通过将启动时间错误传递给 vim 的错误控制系统来维护错误消息链。为此,我的 .vimrc 中有以下功能:
" Local error message function
function! LocalError(err)
" Update the errorMessageString
let g:errorMessageString = a:err
autocmd VimEnter * echohl ErrorMsg | echomsg g:errorMessageString | echohl None
endfunction
因此,该函数可以通过任何其他正在获取的脚本在流下游访问。因此,每个人都使用略有不同的消息字符串调用此函数。
但是,一旦我使用 :messages 命令在 vim 中显示它们,我就可以看到多行消息字符串,但它们都是相同的。
好像消息缓冲区总是被提供给函数的最后一个字符串覆盖。我做错了什么?
这是它的样子:
<banana> (SEVERE_ERROR): Unable to access.
<foo> (SEVERE_ERROR): Unable to access.
然而它看起来像这样:
<foo> (SEVERE_ERROR): Unable to access.
<foo> (SEVERE_ERROR): Unable to access.
有任何想法吗?
谢谢。