如何将行追加到非活动窗口缓冲区并将该窗口滚动到底部

时间:2019-01-05 12:22:40

标签: vim

我想开发一个vim插件,将一些行写入非活动窗口(某些窗口用于异步命令输出等)

我知道我可以使用“ setbufline”写入缓冲区,并使用redraw绘制vim屏幕。但是我找不到将特定窗口滚动到底部的功能。是否有类似“ cbottom”的功能,但适用于普通窗口?

1 个答案:

答案 0 :(得分:3)

假设您知道要滚动的窗口的windowId,并将其存储在变量g:scrollWinId中:

let curWinId = win_getid()
call win_gotoid(g:scrollWinId)
normal! G
call win_gotoid(curWinId)

我不知道Vim脚本中有一个简单功能或可以使用autocmd。

顺便说一句:您可能想使用appendbufline而不是setbufline