微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在Vim中过滤cscope输出

我正在寻找一种方法来从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.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐