I came across this tip in the Arch wiki today. Turns out you can render man pages in gorgeous colors (tweak-able as well) using the less utility in the background. Settings for bash and fish follow.
bash
Add the following lines in your ~/.bashrc:
man() {
env \
LESS_TERMCAP_mb=$'\e[01;31m' \
LESS_TERMCAP_md=$'\e[01;31m' \
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 "$@"
}
fish
Add the following in ~/.config/fish/config.fish:
set -xU LESS_TERMCAP_mb (printf "\e[01;31m") # begin blinking
set -xU LESS_TERMCAP_md (printf "\e[01;31m") # begin bold
set -xU LESS_TERMCAP_me (printf "\e[0m") # end mode
set -xU LESS_TERMCAP_se (printf "\e[0m") # end standout-mode
set -xU LESS_TERMCAP_so (printf "\e[01;44;33m") # begin standout-mode - info box
set -xU LESS_TERMCAP_ue (printf "\e[0m") # end underline
set -xU LESS_TERMCAP_us (printf "\e[01;32m") # begin underline
To customize further, refer to man termcap
, section String capabilities. Color codes:
#########################################
# Black 0;30 Dark Gray 1;30
# Red 0;31 Light Red 1;31
# Green 0;32 Light Green 1;32
# Brown 0;33 Yellow 1;33
# Blue 0;34 Light Blue 1;34
# Purple 0;35 Light Purple 1;35
# Cyan 0;36 Light Cyan 1;36
# Light Gray 0;37 White 1;37
#########################################