man 命令显示颜色
man 命令显示的内容默认是没有颜色的。可以通过设置 LESS 环境变量或使用 MOST 分页程序来使 man 显示颜色。
设置 LESS 环境变量(推荐)
在 .bashrc 中添加以下行:
-
绿红配色:
export LESS_TERMCAP_md=$'\e[1;32m' \ LESS_TERMCAP_me=$'\e[0m' \ LESS_TERMCAP_so=$'\e[1;41;30m' \ LESS_TERMCAP_se=$'\e[0m' \ LESS_TERMCAP_us=$'\e[4;40;36m' \ LESS_TERMCAP_ue=$'\e[0m'
-
蓝黄配色:
export LESS_TERMCAP_md=$'\e[1;36m' \ LESS_TERMCAP_me=$'\e[0m' \ LESS_TERMCAP_so=$'\e[1;44;33m' \ LESS_TERMCAP_se=$'\e[0m' \ LESS_TERMCAP_us=$'\e[4;33m' \ LESS_TERMCAP_ue=$'\e[0m'
-
LESS_TERMCAP_mb:开始闪烁模式的转义序列(现代终端支持较少) -
LESS_TERMCAP_md:开始加粗模式的转义序列(标题) -
LESS_TERMCAP_me:结束加粗、闪烁模式的转义序列 -
LESS_TERMCAP_so:开始突出文本的转义序列(提示文本、搜索高亮) -
LESS_TERMCAP_se:结束突出文本的转义序列 -
LESS_TERMCAP_us:开始下划线模式的转义序列(占位符) -
LESS_TERMCAP_ue:结束下划线模式的转义序列
关于 LESS_TERMCAP_* 环境变量的具体说明可以参见 Documentation on LESS_TERMCAP_* variables? | Stack Exchange
为了避免环境变量污染,可以使用一个函数包装 man 命令:
function man {
env LESS_TERMCAP_md=$'\e[1;32m' \
LESS_TERMCAP_me=$'\e[0m' \
LESS_TERMCAP_so=$'\e[1;41;30m' \
LESS_TERMCAP_se=$'\e[0m' \
LESS_TERMCAP_us=$'\e[4;40;36m' \
LESS_TERMCAP_ue=$'\e[0m' \
/usr/bin/man "$@"
}
关于颜色配置表请参见 echo 输出彩色字符
使用 MOST 分页程序
安装 MOST:
# Ubuntu
sudo apt install most
# macOS
brew install most
在 .bashrc 中添加如下内容:
export PAGER="most"

参考:

浙公网安备 33010602011771号