Linux中,使用man后,其搜索效率较低,应当如何解决?

描述问题

man指: 默认使用less作为PAGER的自带man

搜索效率较低指:

  1. 支持简单搜索, 每次匹配结果太多

  2. 不支持精确搜索(如引入正则,ERE or Perl风格,最好引入Perl风格 )

  3. 没有不同颜色的高亮(这一点我觉得较为重要)

man命令是使用极其频繁的命令之一,搜索功能又是它很重要的功能,但是我觉得这个功能很简陋啊

难道是这个问题不重要or已经得到解决(但是没有搜索到解决方案)?

上下文环境

Linux自带man命令(使用的PAGER为less)

重现

相关代码

报错信息

相关截图

已经尝试哪些方法仍然没有解决(附上相关链接)

搜索了:

  1. less使用哪一种正则,未果

  2. man more efficient

  3. linux man use perl regex

问题简化

阅读 3.6k
1 个回答

简单地说, 正则表达式有多个流派, 其中主要有pcre(兼容perl的正则)和POSIX规范的bre(基础正则), ere(扩展正则).

自己参考这篇Linux/Unix工具与正则表达式的POSIX规范, 虽然并没有提及less, 但基本可以确定是posix风格的, 因为它是GNU工具的一部分.

大部分出生在perl后的通用编程语言的正则表达式都借鉴了perl的正则模块, 它们基本上都是pcre. 但有的语言同时支持posix, 如ruby. 对于那么比较古老的编辑器, 如果支持正则, 基本也是pcre, 如vim的正则是bre基础上自己实现了一部分内容.

虽然这样说, 但在less上试了很多, 真的很沮丧. 它的正则真的非常奇怪.

唯一能给出的建立就是, 如果搜索单词, 则使用 word 来匹配, 两端加空格. 以及-N开启行号显示, 以及&pattern搜索可以只显示匹配的行.

man基于less, less基于morevi. 对于vimer来说, vi太古老了.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题