有什么方法可以将最后回显的消息检索到变量中?
例如:如果我调用函数,则可以:

echo 'foo'

我可以以某种方式将此“foo”检索到变量中吗?
谢谢!

最佳答案

您无法检索上一条回显的消息。但是还有其他选择:

  • 如果可以在此函数调用之前放置:redir命令,而在此函数调用之后放置另一个,则可以捕获其回显的所有内容。但是请注意,重定向不会嵌套,因此,如果函数本身使用:redir,则可能什么也不会得到:
    redir => s:messages
    echo "foo"
    redir END
    let s:lastmsg=get(split(s:messages, "\n"), -1, "")
    
  • 如果函数使用:echomsg而不是:echo,则可以使用:messages命令和:redir:
    echom "foo"
    redir => s:messages
    messages
    redir END
    let s:lastmsg=get(split(s:messages, "\n"), -1, "")
    
  • 关于vim - 如何获得Vimscript中的最后一个回显消息?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5441697/

    10-11 02:28