如何获取vimscript中的最后一条回显消息?
有没有办法将最后一条回显消息检索到变量中?如何获取vimscript中的最后一条回显消息?,vim,Vim,有没有办法将最后一条回显消息检索到变量中? 例如:如果我调用函数,则会: echo 'foo' 我可以将此“foo”检索到变量中吗? 谢谢 您无法检索上次回显的消息。但还有其他选择: 如果您可以在此函数调用之前放置一个:redir命令,然后放置另一个命令,则可以捕获它所回显的所有内容。但请注意,重定向不会嵌套,因此,如果函数本身使用:redir,则可能什么也得不到: redir => s:messages echo "foo" redir END let s:lastmsg=get(sp
例如:如果我调用函数,则会:
echo 'foo'
我可以将此“foo”检索到变量中吗?谢谢 您无法检索上次回显的消息。但还有其他选择:
:redir
命令,然后放置另一个命令,则可以捕获它所回显的所有内容。但请注意,重定向不会嵌套,因此,如果函数本身使用:redir
,则可能什么也得不到:
redir => s:messages
echo "foo"
redir END
let s:lastmsg=get(split(s:messages, "\n"), -1, "")
:echomg
而不是:echo
,则可以使用:messages
命令和:redir
:
echom "foo"
redir => s:messages
messages
redir END
let s:lastmsg=get(split(s:messages, "\n"), -1, "")
您还可以将其更改为
1消息
,以仅获取最新的消息