以下命令在分页器中显示 Most/Less
man -k background
替代文本 http://files.getdropbox.com/u/175564/apropos-colors.png
图片上的所有内容都是绿色的,甚至描述也是如此。我想将它们设置为黄色。
如何通过 Less_termcap 将 Less/Most 中的描述设置为黄色?
我的变量影响较少
export LESS_TERMCAP_mb=$'\E[01;31m' # begin blinking
export LESS_TERMCAP_md=$'\E[01;38;5;74m' # bold in blue
export LESS_TERMCAP_me=$'\E[0m' # end mode
export LESS_TERMCAP_se=$'\E[0m' # end standout-mode
export LESS_TERMCAP_so=$'\E[38;5;246m' # begin standout-mode - info box
export LESS_TERMCAP_ue=$'\E[0m' # end underline
export LESS_TERMCAP_us=$'\E[04;33;146m' # begin underline is now yellow
# | | |
# | |----------------- yellow
# |-------------------- underline
# to have the indication of cursor's location and line numbers
export LESS="-mN"
答案1
这将达到目的:
man -k background|sed "s/ - \(.*\)/ - \o033[33m\1\o033[0m/"
你可以做一个功能:
mank () { man -k $1|sed "s/ - \(.*\)/ - \o033[33m\1\o033[0m/"; }
然后你可以这样做:
mank background
命令将采用默认颜色,描述将采用黄色。方括号后的“33”代表黄色。您可以用其他数字代替其他颜色。获取颜色及其代码列表的一个地方是man 5 dir_colors
。
当然,您必须使用less -R
(或设置 $LESS 以将其包含在内)才能看到中的颜色less
。
这是一个更便携的版本,使用tput
:
mank() { local yellow=$(tput setaf 3) default=$(tput op); /usr/bin/man -k $1|sed "s/ - \(.*\)/ - ${yellow}\1${default}/"; }
man tput
请参阅man 5 terminfo
(“颜色处理”部分)了解更多信息,其中包括setaf
可理解的颜色编号列表。