用过 Unix/Linux 的朋友一定知道 man 指令,但是黑白的 man 手册看起来还是蛮费劲的。那就让我们来把它变为彩色吧。

首先,你当然要知道自己所使用的 shell 是什么,你可以使用 echo $SHELL 来查看。这里我以 Mac OS X 10.3 之后使用的 bash 为例。

编辑 ~/.bash_profile/etc/bashrc 文件,插入下面的内容:


# HIGHLIGHT MANUAL PAGE CONTENTS
export LESS_TERMCAP_mb=$'\E[01;33m'
export LESS_TERMCAP_md=$'\E[01;44m'
export LESS_TERMCAP_me=$'\E[0m'
export LESS_TERMCAP_se=$'\E[0m'
export LESS_TERMCAP_so=$'\E[01;44;33m'
export LESS_TERMCAP_ue=$'\E[0m'
export LESS_TERMCAP_us=$'\E[01;32m'

保存并退出编辑,执行 source 指令或重启终端:


source .bash_profile

现在我们试试效果,例如 man fork :

man fork

当然,你完全有可能不喜欢这些颜色,那么你可以根据需要修改它们,格式是这样的:


export LESS_TERMCAP_xx=$'\E[F;Bm'

其中 F 的前景色,取值为 30 ~ 37;B 为背景色,取值为 40 ~ 47。

FB颜色
3040黑色
3141红色
3242绿色
3343黄色
3444蓝色
3545紫色
3646青色
3747白色

此外还可以定义一些特殊显示样式:

0默认样式
1高亮
4下划线
5闪烁
7反白
8不可见

当然,这种修改方式是有副作用的,更好的解决办法是:


man() {
	env LESS_TERMCAP_mb=$'\E[01;33m' \
		LESS_TERMCAP_md=$'\E[01;44m' \
		LESS_TERMCAP_me=$'\E[0m' \
		LESS_TERMCAP_se=$'\E[0m' \
		LESS_TERMCAP_so=$'\E[01;44;33m' \
		LESS_TERMCAP_ue=$'\E[0m' \
		LESS_TERMCAP_us=$'\E[01;32m' \
	man "[email protected]"
}