Date
Dec. 22nd, 2024
 
2024年 11月 22日

Post: UNIX/Linux : 让 man 手册变为彩色

UNIX/Linux : 让 man 手册变为彩色

Published 12:11 Nov 05, 2013.

Created by @ezra. Categorized in #Technology, and tagged as #UNIX/Linux.

Source format: Markdown

Table of Content

用过 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 "$@"
}
Pinned Message
HOTODOGO
The Founder and CEO of Infeca Technology.
Developer, Designer, Blogger.
Big fan of Apple, Love of colour.
Feel free to contact me.
反曲点科技创始人和首席执行官。
开发、设计与写作皆为所长。
热爱苹果、钟情色彩。
随时恭候 垂询