首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Vader测试缓冲区列表

用Vader测试缓冲区列表
EN

Stack Overflow用户
提问于 2019-02-24 14:26:49
回答 1查看 61关注 0票数 0

我正在编写一个vim插件,我注意到一个错误,其中临时缓冲区不是自动清理的。我正在使用维德测试框架插件来测试它,我希望能够用Vader测试验证修复并防止回归。

我会使用:ls命令来验证缓冲区列表没有增长,但是我不知道如何访问Vader的输出。

那么,是否可以使用Vader来测试缓冲区列表没有增长呢?本质上,我只需要验证在执行命令后显示的缓冲区列表是否与以前相同。我不需要对缓冲区列表进行细粒度检查。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-25 08:24:42

这并不是Vader特有的,但是您可以通过:redir捕获任何Ex命令的输出,或者使用:help execute()更方便地捕获(在较新的Vim版本中)。

但是,对于您所描述的用例,根本不需要解析:ls的输出:缓冲区分配的数量越来越多,最高的缓冲区可以通过bufnr('$')获得。因此,仅通过存储原始值并将其与稍后的查询进行比较,就可以确保不创建额外的缓冲区。

如果您确实需要对缓冲区进行更细粒度的检查(您的问题不太清楚),您可以对所有可能的缓冲区使用filter(),例如获取所有列出的缓冲区(或通过bufloaded()加载的缓冲区):

代码语言:javascript
复制
:echo filter(range(1, bufnr('$')), 'buflisted(v:val)')
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54852864

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档