我很长时间以来一直在使用这些变量来为手册页着色:
# Colourise man pages
export LESS_TERMCAP_mb=$'\E[1;31m' # begin bold
export LESS_TERMCAP_md=$'\E[1;36m' # begin blink
export LESS_TERMCAP_me=$'\E[0m' # reset bold/blink
export LESS_TERMCAP_so=$'\E[01;44;30m' # begin reverse video
export LESS_TERMCAP_se=$'\E[0m' # reset reverse video
export LESS_TERMCAP_us=$'\E[1;32m' # begin underline
export LESS_TERMCAP_ue=$'\E[0m' # reset underline
export LESS_TERMCAP_mr=$(tput rev)
export LESS_TERMCAP_mh=$(tput dim)
export LESS_TERMCAP_ZN=$(tput ssubm)
export LESS_TERMCAP_ZV=$(tput rsubm)
export LESS_TERMCAP_ZO=$(tput ssupm)
export LESS_TERMCAP_ZW=$(tput rsupm)
我正在考虑将它们放入一个函数中,这样它们就不会弄乱我的环境变量(但是它们不与 一起使用git apply --help
,而是与 一起使用man git-apply
)。
# Colourise man pages
man() {
env \
LESS_TERMCAP_mb=$'\E[1;31m' \
LESS_TERMCAP_md=$'\E[1;36m' \
LESS_TERMCAP_me=$'\E[0m' \
LESS_TERMCAP_so=$'\E[01;44;30m' \
LESS_TERMCAP_se=$'\E[0m' \
LESS_TERMCAP_us=$'\E[1;32m' \
LESS_TERMCAP_ue=$'\E[0m' \
LESS_TERMCAP_mr=$(tput rev) \
LESS_TERMCAP_mh=$(tput dim) \
LESS_TERMCAP_ZN=$(tput ssubm) \
LESS_TERMCAP_ZV=$(tput rsubm) \
LESS_TERMCAP_ZO=$(tput ssupm) \
LESS_TERMCAP_ZW=$(tput rsupm) \
man "$@"
}
最近我开始使用 Oracle Linux,但它们在那里不起作用。 Oracle Linux 基于 Scientific Linux(我认为),因此这可能不适用于 RHEL 以及 CentOS/Fedora 等变体。
我怎样才能让它在所有类型的 Linux 上工作?
答案1
您需要一个额外的设置,可以独立设置,也可以作为函数定义的一部分:
export GROFF_NO_SGR=1
或者
man() {
env \
LESS_TERMCAP_mb=$'\E[1;31m' \
LESS_TERMCAP_md=$'\E[1;36m' \
LESS_TERMCAP_me=$'\E[0m' \
LESS_TERMCAP_so=$'\E[01;44;30m' \
LESS_TERMCAP_se=$'\E[0m' \
LESS_TERMCAP_us=$'\E[1;32m' \
LESS_TERMCAP_ue=$'\E[0m' \
LESS_TERMCAP_mr=$(tput rev) \
LESS_TERMCAP_mh=$(tput dim) \
LESS_TERMCAP_ZN=$(tput ssubm) \
LESS_TERMCAP_ZV=$(tput rsubm) \
LESS_TERMCAP_ZO=$(tput ssupm) \
LESS_TERMCAP_ZW=$(tput rsupm) \
GROFF_NO_SGR=1 \
man "$@"
}