首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用ripgrep和fzf模糊查找包含特定文本的所有文件并打开它VSCode

如何使用ripgrep和fzf模糊查找包含特定文本的所有文件并打开它VSCode
EN

Stack Overflow用户
提问于 2020-05-11 23:03:29
回答 1查看 7.1K关注 0票数 7

我有以下命令,用于在命令行中模糊查找文件,并在VSCode中打开选定的文件。

代码语言:javascript
复制
fzf --print0 -e | xargs -0 -r code

现在,我希望能够搜索字符串的文件内容。我能够在命令行中找到搜索的字符串:

代码语言:javascript
复制
rg . | fzf --print0 -e

但是现在使用以下命令在VSCode中打开文件不再有效:

代码语言:javascript
复制
rg . | fzf --print0 -e | xargs -0 -r code

因为传递给VSCode的是一个文件名,它包含文件名本身,而搜索字符串当然是一个空文件。

如何将上述两个命令组合在一起,将文件名传递给包含搜索字符串的VSCode?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-13 11:12:29

--vimgrep选项rg将返回医生所要求的内容。这就是我在vscode扩展请求中使用的内容:

https://github.com/rlivings39/vscode-fzf-quick-open/commit/101a6d8e44b707d11e661ca10aaf37102373c644

它返回的数据如下:

代码语言:javascript
复制
$ rg --vimgrep
extension.ts:5:5:let fzfTerminal: vscode.Terminal | undefined = undefined;
extension.ts:6:5:let fzfTerminalPwd: vscode.Terminal | undefined = undefined;

然后,您可以删除前3个字段并将它们传递给code -g

代码语言:javascript
复制
rg --vimgrep --color ansi | fzf --ansi --print0 | cut -z -d : -f 1-3 | xargs -0 -r code -g
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61740910

复制
相关文章

相似问题

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