你怎么能把Apropos的输出变成Most / Less?

以下命令给我在寻呼机Most / Less

man -k background 

替代文字http://files.getdropbox.com/u/175564/apropos-colors.png

这张照片有一切绿色,甚至描述。 我想把它们设为黄色。

你怎么能在Less / Most by Less_termcap中将描述设置为黄色?


我的变数影响较less

  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" 

这将做的伎俩:

 man -k background|sed "s/ - \(.*\)/ - \o033[33m\1\o033[0m/" 

你可以做一个function:

 mank () { man -k $1|sed "s/ - \(.*\)/ - \o033[33m\1\o033[0m/"; } 

那么你可以这样做:

 mank background 

和命令将是你的默认颜色和描述将是黄色的。 方括号后的“33”代表黄色。 您可以用另一个数字replace另一种颜色。 一个获得颜色和代码列表的地方是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 tputman 5 terminfo (在“颜色处理”部分)获取更多信息,包括setaf可以setaf的颜色编号列表。