我已经学会了如何用这个将变量值放入文件堆栈溢出链接。
例如 :let L = [1,2,3] :put string(L)
[1, 2, 3]
上面链接中提到的方法似乎正在处理表达式的返回值。
但是,如何捕获命令回显的内容呢echo
?我想这就是function FunctionName
工作原理,将函数的内容回显到屏幕上。
正如我的 vim 界面中显示的回显内容,它们不会进入某个寄存器或其他类型的缓冲区吗?
它能够捕获这些回显内容并将它们重定向到 vim 中的文件吗?
答案1
自己想出的解决办法:
:function Echo_to_file(expr_str)
: redir => zen_temp | exe a:expr_str | redir END | put=zen_temp
:endfunction
:call Echo_to_file("function Echo_to_file")
function Echo_to_file(expr_str)
1 redir => zen_temp | exe a:expr_str | redir END | put=zen_temp
endfunction
它工作得很好,但我不知道为什么1
结果很奇怪。