手册页中不区分大小写的搜索


18

有没有办法区分大小写的手册页?使用“ /”搜索功能会匹配大小写。


5
没有诸如“在手册页中搜索”之类的东西。实际上是在显示手册页的寻呼机中搜索。取决于man您使用的实现方式和您喜欢的寻呼机,但是我有export MANPAGER='less -I'
manatwork 2013年

@ manatwork的一点是-I手段--IGNORE-CASE, even if the pattern contains uppercase letters,见man less
terdon

Answers:


18

如果未指定其他寻呼机,则man用于less显示手册页。

涉及更改分页器命令行的其他答案是正确的,但是您也可以-i在运行更少命令时键入。从更少的手册页:

- 紧随其后的是命令行选项字母之一(请参阅下面的选项),这将更改该选项的设置并打印一条描述新设置的消息。

因此-i,在较少的时间内键入内容将以与在命令行上指定设置相同的方式更改设置。从如何使用模式修饰符使用less进行不区分大小写的搜索中,我得到了提示,然后在手册页中找到了解释。


13

仅在使用大写字母的情况下,而不是仅使用小写字母的情况。例如,运行man bash并尝试:

  • /invoc <==不区分大小写
  • /Invoc <==区分大小写
  • /INVOC <==区分大小写

正如@manatwork在评论中指出的那样,您还可以通过添加export MANPAGER='less -I'到中来控制此行为~/.profile。该MANPAGER变量定义与man命令一起使用的程序。的-I装置(从man less):

   -I or --IGNORE-CASE
          Like -i, but searches ignore case even if the  pattern  contains
          uppercase letters.

其他相关选项是(此选项通常默认情况下处于启用状态):

   -i or --ignore-case
          Causes searches to ignore case; that is, uppercase and lowercase
          are  considered identical.  This option is ignored if any upper‐
          case letters appear in the search pattern; in other words, if  a
          pattern  contains  uppercase  letters, then that search does not
          ignore case.

因此,如果您使用export MANPAGER="less -I"; man bash,则应该能够以/iNvOc不区分大小写的方式进行搜索。


+1您是否知道如何在全小写搜索模式下强制区分大小写?
Joseph R.

@JosephR。man bash | grep -C 5 invoc但这是作弊。
terdon

是的,并非我一直在寻找答案。这本身可能值得另一个问题……
Joseph R.

1
@JosephR。显然,您可以编译less为使用PCRE,这可能会成功。
terdon

仅当在命令行上指定“ -i”时,大小写不区分大小写才为真。没有它,所有搜索都区分大小写。
FazJaxton
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.