减少突出显示搜索模式而不是斜体

减少突出显示搜索模式而不是斜体

据我了解,人用作less寻呼机,并且在搜索关键字时使用less它用斜体“突出显示”关键字。我发现这真的很不方便,所以我想将其更改为类似 vim 的东西,set hlsearch其中找到的模式具有不同的背景。

我尝试运行man -P vim systemd,但因错误状态 1 退出,所以看起来我陷入了困境less

我在其中找不到任何man less帮助(相反,我发现该选项-G将关闭所有突出显示,这比斜体更糟糕)。

话虽这么说,有谁知道如何在手册页中实现搜索突出显示(更改背景颜色)?

仅供参考,我运行 Ubuntu 14.10

我遇到了这个问题似乎在问同样的事情,但我不确定我是否明白这是如何工作的(LESS_TERMCAP_so)。手册less页没有提到这一点。 (我用这个解决方案得到了奇怪的结果)

答案1

在超级用户上找到了答案:https://superuser.com/questions/566082/less-doesnt-highlight-search

看起来这与您的 TERM 设置有关。例如,在正常的 gnome 终端窗口中,较少的突出显示通常会起作用(白色背景突出显示),但是当我在 tmux 中时,会出现斜体。对我来说,不同之处在于,在 tmux 中时 TERM 设置为“screen”,但不在 tmux 中时设置为“xterm-256color”。当我在 tmux 窗口中设置“TERM=xterm-256color”时,less 中的突出显示会返回到背景突出显示。

答案2

提及的内容LESS_TERMCAP_so不完整。这是 less 的特殊环境变量,用于覆盖 termcap so(standout) 功能。要使用此功能,您se还必须提供(标准)功能。

术语信息(5)手册页总结了 terminfo (smso/rmso) 和 termcap (so/se) 名称的这些功能:

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

它的部分关于突出显示解释:

如果您的终端具有一种或多种显示属性,则可以用多种不同的方式表示这些属性。您应该选择一种显示形式脱颖而出模式,代表一种良好的、高对比度的、易于观看的格式,用于突出显示错误消息和其他引人注目的内容。 (如果您有选择,反相视频加半亮也不错,或者单独反相视频。)进入和退出突出模式的顺序如下所示 smsormso, 分别。

如果你想使用颜色脱颖而出,您必须提供一个相应的LESS_TERMCAP_se重置颜色。只要您不希望因其他原因(例如使用 groff 的 SGR 颜色功能)而在手册页中使用颜色,那么做到这一点相对简单。

假设评论中建议的值:

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

那么你可以使用大多数终端重置它

export LESS_TERMCAP_se=$'\E[39;49m'

顺便说一下,原因是斜体GNU 的终端描述screen使用斜体的标准转义序列作为其自己的突出/标准功能。其中一些内容在终端数据库条目

答案3

搜索后点击ESCu可关闭搜索突出显示;less新的搜索将再次打开它,因此要永久关闭会话点击的搜索突出显示-G

或者放入LESS='-G'您的环境中,或man像这样运行:

LESS='-G' man less

讽刺的是,这一切都记录在less联机帮助页中......

您还可以将以下内容放入环境中,例如您的.bash_profile

export MANPAGER='less -G'

答案4

为了多路复用器我设置TERMtmux-256color。除了其他好处之外,这具有“通常”的反向突出显示较少的。当使用像 Fedora 或 cygwin 这样的现代东西时效果很好。

$ cat ~/.tmux.conf
set-option -g default-terminal tmux-256color

恩诅咒然而 Centos 上的软件包没有两个 tmux 定义(多路复用器tmux-256color)。我很容易从 Fedora 导入它们。轻微的皱纹是Centos的恩诅咒太老了,无法直接理解 fedora 的 terminfo 文件。

在软呢帽上:

$ infocmp tmux256-color >temp.txt

在 Centos 上:

$ scp fedora-machine:temp.txt .
$ tic temp.txt

然后里面多路复用器:

$ TERM=tmux-256-color man tmux

结果!

仅供参考抽动症命令将编译后的终端描述放入您的个人 terminfo 数据库中,即 ~/.terminfo/t/tmux-256color(在本例中)。如果您想要的话,请随意将其移至全局数据库:

$ sudo mv ~/.terminfo/t/tmux-256color /usr/share/terminfo/t/

相关内容