如何在 Most/Less 中为 Apropos 的输出着色?

如何在 Most/Less 中为 Apropos 的输出着色?

以下命令在分页器中显示 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可理解的颜色编号列表。

相关内容