我有一个具有某些功能的插件,该插件向statusline
添加了一些字符串。我进行了一系列功能测试,以验证某些操作会产生一些输出,并希望验证statusline
(如果已设置)在触发后会发生变化。
我找不到能使我捕获(转储?)statusline
渲染内容的内容。 :help statusline
和:help status-line
均未暗示可能允许这样做的任何内容。
有没有一种实际的方法?
答案 0 :(得分:1)
您正在寻找:help screenchar()
。有了它,您可以捕获Vim控制的任何可见屏幕单元(包括状态行),其主要目的是测试。它的用法有点笨拙,因为您必须单独查询每个位置,并且必须显式转换回字符/字符串。例如,如果状态行是倒数第二行,则会获得第一个字符:
:echo nr2char(screenchar(&lines-1, 1))
这将获得整个状态行(假设您没有任何垂直窗口分割):
:echo join(map(range(1, &columns), 'nr2char(screenchar(&lines-1, v:val))'), '')