加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

如何在Vim中过滤cscope输出

发布时间:2020-12-15 21:45:25 所属栏目:安全 来源:网络整理
导读:我正在寻找一种方法来从Vim grep输出cscope查询. 以下对我不起作用: :cs f s symbol !grep pattern 它给了: E259: no matches found for cscope query s symbol !grep pattern ... P.S: 我知道redir方法,我正在寻找一种更简单的过滤方法 通过Unix命令输出
我正在寻找一种方法来从Vim grep输出cscope查询.

以下对我不起作用:

:cs f s symbol !grep pattern

它给了:

E259: no matches found for cscope query s symbol !grep pattern ...

P.S:
我知道redir方法,我正在寻找一种更简单的过滤方法
通过Unix命令输出ex命令.

解决方法

您可以使用:redir将消息输出发送到寄存器或文件.

redir @c
cs f s symbol
redir END

现在您可以将c寄存器放入文件并对其进行过滤.

我没有从cscope获得太多输出(它都在quickfix中),但这将完成您所描述的内容.

通常,您可以使用|筛选shell命令(请参阅:help:!cmd) (酒吧):

:!echo 0updateView | cscope -dl | grep global

但ex命令将bar解释为命令分隔符(因此您可以在一行上放置多个命令):

:if &ft != 'help' | silent! cd %:p:h | endif

除了使用redir之外,我认为你不能过滤ex命令的输出.但是,您可以使用Benoit的答案来过滤quickfix.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读