gpt4 book ai didi

git - 如何使 `git grep` 输出看起来像 `ack` 输出?

转载 作者:太空狗 更新时间:2023-10-29 12:57:16 24 4
gpt4 key购买 nike

我最近发现了 git grep 并开始喜欢它的速度和事实上只搜索 repo 中的文件。但是来自 ack(Ubuntu 中的 ack-grep),还有一点需要改进的是输出格式,不幸的是,它更像 grepack。去图吧。

ack:

  1. 第一行单独打印匹配的文件名
  2. 颜色以粗体绿色突出显示匹配的文件名
  3. 打印行号,行号每个匹配行
  4. 粗体黄色突出显示行号的颜色。
  5. 颜色以背景黄色突出显示每个匹配字符串
  6. 在来自不同文件的匹配项之间打印一个空行

另一方面,git grep:

  • 每个匹配的上打印文件名
  • 打印无行号
  • 在来自不同文件的匹配项之间打印无空行
  • 颜色匹配的文本粗体红色

是否有任何一组 git grep 选项,或与其他工具的组合,可以使 git grep 输出看起来像 ack 输出?

最佳答案

您已经回答了自己问题的一部分(--break 在文件之间插入一个空行,--heading 单独打印文件名,-n--line-number 为您提供每行的行号)。

剩下的只是颜色选项,即set in git config 通过 color.grep.<slot>条目。有关完整详细信息,请参阅文档,但请注意,根据您的要求,我认为这可以解决问题:

[alias]
ack = -c color.grep.linenumber=\"bold yellow\" \
-c color.grep.filename=\"bold green\" \
-c color.grep.match=\"reverse yellow\" \
grep --break --heading --line-number

(由于引用很乱,所以您会在 git config --global --edit 中看到它)

或者,在一个命令中设置它:

git config --global alias.ack '-c color.grep.linenumber="bold yellow"
-c color.grep.filename="bold green"
-c color.grep.match="reverse yellow"
grep --break --heading --line-number'

加减-c更改您喜欢的任何颜色的选项,和/或通过设置 color.grep.<name> = color 将它们设置为您喜欢的默认值而不是使用 git ack别名。

关于git - 如何使 `git grep` 输出看起来像 `ack` 输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39581198/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com