Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
Color Terminal for bash/zsh etc..
man() {
env \
LESS_TERMCAP_mb=$(printf "\e[1;31m") \
LESS_TERMCAP_md=$(printf "\e[1;31m") \
LESS_TERMCAP_me=$(printf "\e[0m") \
LESS_TERMCAP_se=$(printf "\e[0m") \
LESS_TERMCAP_so=$(printf "\e[1;44;33m") \
LESS_TERMCAP_ue=$(printf "\e[0m") \
LESS_TERMCAP_us=$(printf "\e[1;32m") \
man "$@"

mjm commented Aug 15, 2016

If you use fish:

function man
    env \
        LESS_TERMCAP_mb=(printf "\e[1;31m") \
        LESS_TERMCAP_md=(printf "\e[1;31m") \
        LESS_TERMCAP_me=(printf "\e[0m") \
        LESS_TERMCAP_se=(printf "\e[0m") \
        LESS_TERMCAP_so=(printf "\e[1;44;33m") \
        LESS_TERMCAP_ue=(printf "\e[0m") \
        LESS_TERMCAP_us=(printf "\e[1;32m") \
            man $argv

dentex commented Aug 16, 2016


In bash, I remove the env at the beginning and use command man "$@" at the end instead. This avoids an extra call to env.

Awesome 👍

Shorter… (no printf calls)

man() {
    LESS_TERMCAP_mb=$'\e'"[1;31m" \
    LESS_TERMCAP_md=$'\e'"[1;31m" \
    LESS_TERMCAP_me=$'\e'"[0m" \
    LESS_TERMCAP_se=$'\e'"[0m" \
    LESS_TERMCAP_so=$'\e'"[1;44;33m" \
    LESS_TERMCAP_ue=$'\e'"[0m" \
    LESS_TERMCAP_us=$'\e'"[1;32m" \
    command man "$@"


or you can add the following to your ~/.profile and not override default commands - they're just environment variables anyway

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

Fale commented Aug 21, 2016

I've just tried on Fedora, and it seems not to work :(

Tnx @forkbomber!! I totally missed this when looking over oh-my-zsh plugins.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment