Less 命令改变“~”和“(END)”的颜色?

Less 命令改变“~”和“(END)”的颜色?

如何更改 Less 命令输出边缘的“~”字符的颜色。

如何更改底部“(END)”的颜色?

答案1

LESS 基于 termcap 库使用多个环境变量来控制颜色。变量列表如下:

export LESS_TERMCAP_mb=$'\E[6m'          # begin blinking
export LESS_TERMCAP_md=$'\E[34m'         # begin bold
export LESS_TERMCAP_us=$'\E[4;32m'       # begin underline
export LESS_TERMCAP_so=$'\E[1;33;41m'    # begin standout-mode - info box
export LESS_TERMCAP_me=$'\E[0m'          # end mode
export LESS_TERMCAP_ue=$'\E[0m'          # end underline
export LESS_TERMCAP_se=$'\E[0m'          # end standout-mode

如果你想设置不同的前景色,只需将 3x 更改为其他颜色即可更改背景更改或添加 4x,例如。将问题中的“~”(波浪号字符)的颜色更改为红色前景和绿色背景集

export LESS_TERMCAP_md=$'\E[31;42m'

使用这些变量,您将为搜索模式、提示甚至手册着色(如果您使用 less 作为寻呼机)。

您还可以更改其他较少的行为,例如提示,请尝试以下一项:

export LESS='-iR -j4 --shift 5 -P ?n?f%f .?m(file %i of %m) ..?ltlines %lt-%lb?L/%L. :byte %bB?s/%s. .?e(END) ?x- Next\: %x.:?pB%pB\%..%t'

和它一起玩,玩得开心。

注1

由于新 groff 版本中的一些错误,您可能需要设置

export GROFF_NO_SGR=''

以及改变颜色。

笔记2(基本颜色代码列表)

Foreground:
30 - black
31 - red
32 - green
33 - yellow
34 - blue
35 - magenta
36 - cyan
37 - white

Background:
40 - black
41 - red
42 - green
43 - yellow
44 - blue
45 - magenta
46 - cyan
47 - white

More about color codes: http://en.wikipedia.org/wiki/ANSI_escape_code

答案2

less不提供对其显示的功能的微调,更喜欢使用视频属性,例如粗体和反向(或突出):

  • ~仅当设置了“twiddle”选项(“在文件末尾后显示波形符”)时,字符才会以粗体属性打印。

  • 当你可以修改用于绘制粗体文本的终端功能,“END”由standout/standend终端功能括起来。

对于这两者,less出于其他原因使用相同的终端功能,例如,

  • less当看到一个字符重打包含相同字符的单元格时,使用粗体,例如AbackspaceA

  • standout 用于突出显示错误消息。

也就是说,您可以通过使用合适的终端转义序列设置这两个环境变量来更改粗体文本的外观:

LESS_TERMCAP_md
LESS_TERMCAP_me

术语信息(5)手册给出了“md”和“me”的含义的线索,在第三列中列出了 termcap 名称:

   enter_bold_mode               bold       md        turn on bold (extra
                                                      bright) mode
   exit_attribute_mode           sgr0       me        turn off all
                                                      attributes

同样,standout 和standend 是

LESS_TERMCAP_so
LESS_TERMCAP_se

对应这个描述:

   enter_standout_mode           smso       so        begin standout mode 
   exit_standout_mode            rmso       se        exit standout mode  

进一步阅读:

相关内容