手册页高亮颜色

bon*_*ang 5 less colors highlighting

为了给我的手册页上色,我把来自 archlinux.org 的这段代码放到了 .bashrc 中:

man() {
    env LESS_TERMCAP_mb=$'\E[01;31m' \
    LESS_TERMCAP_md=$'\E[01;38;5;74m' \
    LESS_TERMCAP_me=$'\E[0m' \
    LESS_TERMCAP_se=$'\E[0m' \
    LESS_TERMCAP_so=$'\E[38;5;246m' \
    LESS_TERMCAP_ue=$'\E[0m' \
    LESS_TERMCAP_us=$'\E[04;38;5;146m' \
    man "$@"
}
Run Code Online (Sandbox Code Playgroud)

它工作正常,除了当我使用 搜索时/,匹配项将颜色更改为更加模糊 - 与突出显示相反。我花了一些时间试图弄清楚这一点,但我无法真正理解它,所以如果我做任何事情,那只会是反复试验。最好请教专家。那么我怎样才能让搜索匹配成为,比如说,黄底黑字?

jim*_*mij 5

搜索模式less根据突出模式设置着色,所以为了在黄色上显示黑色,你需要把

export LESS_TERMCAP_so=$'\E[30;43m'
Run Code Online (Sandbox Code Playgroud)

其中30表示黑色前景和43黄色背景。


jas*_*yan 5

有关man termcap您要导出的变量的完整定义,请参阅。例如,此摘录涵盖了开始和结束突出模式:用于突出显示搜索的值:

se 结束突出模式
...
所以开始突出模式

您可以在突出模式下在黑色背景上设置黄色,如下所示:

export LESS_TERMCAP_so=$'\E[01;33;03;40m'
Run Code Online (Sandbox Code Playgroud)

值得注意的是,您不需要在每个 shell 中导出这些变量,您可以将此函数移动到您的~/.profile~/.bash_profile在您登录时加载它们,它们将持续存在。