有没有办法将最后回显的消息检索到变量中?
例如:如果我调用函数,那么:
echo 'foo'
Run Code Online (Sandbox Code Playgroud)
我可以以某种方式将这个'foo'检索到变量中吗?
谢谢!
ZyX*_*ZyX 10
您无法检索上次回显的消息.但还有其他选择:
如果您可以:redir在此函数调用之前放置一个命令,而在此之后放置另一个命令,则可以捕获它回显的所有内容.但请注意,重定向不会嵌套,因此如果函数使用:redir自身,您可能什么也得不到:
redir => s:messages
echo "foo"
redir END
let s:lastmsg=get(split(s:messages, "\n"), -1, "")
Run Code Online (Sandbox Code Playgroud)如果函数使用:echomsg而不是:echo,则可以使用:messages命令和:redir:
echom "foo"
redir => s:messages
messages
redir END
let s:lastmsg=get(split(s:messages, "\n"), -1, "")
Run Code Online (Sandbox Code Playgroud)