Colors

手冊頁突出顯示顏色

  • November 25, 2014

為了著色我的手冊頁,我將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 "$@"
}

它工作正常,除了當我搜尋時/,匹配項改變顏色變得更加模糊 - 與突出顯示相反。我花了一些時間試圖弄清楚這一點,但我無法真正理解它,所以如果我做任何事情,那隻是試錯。最好問問專家。那麼我怎樣才能讓搜尋匹配成為,比如說,黃底黑字呢?

搜尋模式less根據突出模式設置進行著色,因此為了在黃色上顯示黑色,您需要放置

export LESS_TERMCAP_so=$'\E[30;43m'

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

有關man termcap要導出的變數的完整定義,請參閱。例如,這段摘錄涵蓋了突出模式的開始和結束:用於突出顯示搜尋的值:

se 結束突出模式

所以開始突出模式

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

export LESS_TERMCAP_so=$'\E[01;33;03;40m'

值得注意的是,您不需要在每個 shell 中都導出這些變數,您可以將此函式移動到您的~/.profile~/.bash_profile登錄時載入它們,它們將持續存在。

引用自:https://unix.stackexchange.com/questions/169952