如何搜索git log(使用less)用于单词边界

时间:2015-02-16 21:56:18

标签: regex git pager

我的常见工作流程是键入git log -p,然后使用/搜索文本以查找历史记录中的更改。我在OSX上,使用default pager

$ git config --global core.pager
# no output (meaning default pager, less)

当我搜索时,正则表达式的作用就像a.+b一样,但是,我似乎无法使单词边界起作用。我已经尝试了以下所有方法:

<word>
\<word\>
\bword\b
\v<word>

最后一个是试图模仿Vim的very magic开关,我不知道它是否存在于less中,但它没有错误。这些搜索都没有返回匹配项。

我尝试使用git config --global color.ui false关闭颜色(默认值auto),但这似乎没有任何效果。

This question听起来像\<应该有效吗?但事实并非如此。

我的版本较少:

$ less --version
    less 418
    Copyright (C) 1984-2007 Mark Nudelman

1 个答案:

答案 0 :(得分:1)

根据less网站常见问题解答(http://www.greenwoodsoftware.com/less/faq.htmlless将使用libc提供的操作系统正则表达式,或者使用自己的内置库如果在构建期间请求。

我的less版本为458. \<\>运算符完美无缺。

您的选择包括: -

  1. 检查(并可能更新)您的libc版本。 (我的是libc6-2.19
  2. 使用更新的库或配置为使用其内部正则表达式处理程序来构建您自己的。
  3. 为了完整起见,Ubuntu 12.04包括以下版本:

    • less 444
    • libc6-2.15

    并且正则表达式按预期工作。