Loading

为类 Unix 系统中的 man page 增加高亮着色

在类 Unix 系统中,我们经常通过 man 查看具体命令的用法,如下图,为 man sed

默认所有文本颜色都是相同的,不利于阅读。这里介绍两种简单的方式,为终端 man page 增加高亮着色。

在配置文件中配置文本颜色

在对应的 rc 文件(例如 .bashrc)中添加如下变量:

export LESS_TERMCAP_mb=$'\e[1;32m'
export LESS_TERMCAP_md=$'\e[1;32m'
export LESS_TERMCAP_me=$'\e[0m'
export LESS_TERMCAP_se=$'\e[0m'
export LESS_TERMCAP_so=$'\e[01;33m'
export LESS_TERMCAP_ue=$'\e[0m'
export LESS_TERMCAP_us=$'\e[1;4;31m'

这里其实是通过「色彩码」来控制文本颜色的,如 \e[1;32m 里的 32 对应的就是红色,\e[0m 的 0 对应重置,具体我们使用的文本颜色如下:

  • 0 - 默认(重置)
  • 31 – 红
  • 32 – 绿
  • 33 – 黄

类似的,还通过对应编码控制文本格式:

  • 0 – 正常(重置)
  • 1 – 粗体
  • 4 – 下划线

在重新加载配置文件后,man page 就变成彩色的了。例如 man sed 如下:

安装 most 实现

另外,我们也可以通过为终端安装 Most,让 Most 成为默认 man page 实现。

以 Mac 为例,通过 Homebrew 安装:

brew install most

然后在对应 Shell 配置文件中增加下面这行语句:

export PAGER="most"

之后的 man page 就变成彩色的了。我们同样看看 man sed 的样子:

不过这样会和默认的 man page 行为有些不兼容,例如不能用 j 和 k 上下滚动了,我个人不是很喜欢,最终还是选择自己在配置文件中配置着色的方式。

posted @ 2022-04-18 01:38  KawaiHe  阅读(77)  评论(0编辑  收藏  举报