-
-
Save supermarin/6dca255da372c3f9eb26 to your computer and use it in GitHub Desktop.
# 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 "$@" | |
} |
# 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 | |
you'll need to remove the quotes around "$@"
and "$argv"
, otherwise it passes multiple arguments as a single argument; which makes it impossible to view different sections of the manual. e.g.: man 3 calloc
๐
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)
@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"
๐