-
-
Save supermarin/6dca255da372c3f9eb26 to your computer and use it in GitHub Desktop.
Colored `man` pages on OSX
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# ZSH / BASH users | |
# Add this to your .env, .bashrc, .zshrc, or whatever file you're using for environment | |
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 "$@" | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Fish users | |
# Save this file as ~/.config/fish/functions/man.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" | |
end | |
@supermarin, thanks for that man.fish
! 🙇♂️
Also what @gf3 says is correct, at least for fish --- removing the quotes from around "$argv"
fixes the issue with invocations such as man 3 calloc
. Thanks @gf3 for pointing it out 👍
For Oh-my-fish users, you can also put the man
function into your init.fish
file, for example.
That way, you can keep your omf config in a repository and have colored man output.
Besides, I can confirm what @sankalp-khare said regarding $argv
in fish. Fish does not perform word splitting and argv is an array (or, list in fish terminology).
For anyone using a version of less
that is more recent than 2021, you can make use of the new '--use-color' option like so:
export MANPAGER="less -R --use-color -Dd+r -Du+b"
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
👍
BTW, @gf3 is telling incorrect info.
"$@"
is supposed to pass multiple arguments."$*"
will pass multiple arguments as a single argument, though.(Therefore, .env file is correct, at least)
See https://yakking.branchable.com/posts/whitespace-safety/