彩色手册页在 gentoo 上不起作用

彩色手册页在 gentoo 上不起作用

我使用时遇到问题这些方法在我的 gentoo 手册页中获取颜色。我已经在 gentoo 论坛中询问过,但它仍然不起作用,并且错误报告中的评论(错误 184604)也不起作用。有人可以帮助我在我的手册页中获取颜色吗?

编辑:是的,我使用 less 作为寻呼机,使用 urxvt-unicode 作为终端模拟器

编辑2:

我已经在gentoo论坛问过,但没有帮助,这是链接:http://forums.gentoo.org/viewtopic-t-819833-start-0.html

答案1

可能会出现很多问题。

鉴于您正在使用zsh,请尝试将其放入您的~/.zshrc

export LESS_TERMCAP_mb=$'\E[01;31m'
export LESS_TERMCAP_md=$'\E[01;31m'
export LESS_TERMCAP_me=$'\E[0m'
export LESS_TERMCAP_se=$'\E[0m'
export LESS_TERMCAP_so=$'\E[01;47;34m'
export LESS_TERMCAP_ue=$'\E[0m'
export LESS_TERMCAP_us=$'\E[01;32m'
export LESS=-r

然后打开一个新的终端窗口并尝试运行

man ls

如果它不起作用,请运行以下每个命令以找出问题所在:


1号

typeset -p LESS_TERMCAP_md | cat -v

应该打印

typeset -x LESS_TERMCAP_md="^[[01;31m"

typeset -p LESS

应该打印

typeset -x LESS="-r"

如果没有,则说明您将这些export LESS内容放入了错误的文件中。


2号

echo "${LESS_TERMCAP_md}red${LESS_TERMCAP_me}"

应该打印

red

呈红色。如果没有,则说明您的终端设置有问题。检查您的终端设置(例如~/.Xresources)或尝试运行gnome-terminalxterm看看是否有效。


3号

echo -E "a^Ha" | LESS= less -r

(必须先按+然后按+^H输入)CtrlVCtrlH

应该打印

a

红色的。如果没有,请运行这些

type less
less --version

并将输出粘贴回您的问题中。


4号

bzcat /usr/share/man/man1/ls.1.bz2 | \
    /bin/sh /usr/bin/nroff -mandoc -Tutf8  | head -n 5 | cat -v

应该打印

LS(1)                            User Commands                           LS(1)



N^HNA^HAM^HME^HE

(注意^H步骤 3 中的类似内容)

如果它打印类似的内容:

LS(1)                            User Commands                           LS(1)



^[[1mNAME^[[0m

相反,您需要找到一种方法来禁用“sgr 转义序列”。最简单的尝试是添加export GROFF_NO_SGR=1.zshrc,但还有其他方法可以解决此问题。


5号

bzcat /usr/share/man/man1/ls.1.bz2 | \
    /bin/sh /usr/bin/nroff -mandoc -Tutf8 | less

ls应该用颜色显示手册页。


man ls

现在应该可以工作了!

答案2

读完 Mikels 的回答后,它非常全面,并且有望在所有系统上工作,但对我自己来说可能有点过分了(也在 gentoo 系统上。)

因此,对于那些对所有这些恶作剧非常“做很长,没有阅读”的人来说,这是一个结果。

要获得彩色手册页,我至少可以做如下:

LESS_TERMCAP_md=$'\E[01;31m' LESS_TERMCAP_me=$'\E[0m' GROFF_NO_SGR=1 man man

这将呈现以前仅以粗体显示的文本,以粗体显示和红色。 (以“31”为特征的红色LESS_TERMCAP_md

LESS_TERMCAP_se=$'\E[0m' LESS_TERMCAP_so=$'\E[01;32m'

这两条规则控制当前行号显示的格式,并强制其以绿色呈现。

LESS_TERMCAP_us=$'\E[04;33m' LESS_TERMCAP_ue=$'\E[0m'

这两条规则将之前带下划线的所有内容都移至带下划线的位置和黄色。 (04 是“下划线”,33 是“黄色”)

答案3

2023 年寻找此问题解决方案的人们可能会受到版本 1.23.0 中引入的 groff 软件包的更改的影响。

export MANROFFOPT=-c.zshrc的修好了。

(或者替代地GROFF_NO_SGR=1

背景:

https://bbs.archlinux.org/viewtopic.php?id=287185

https://github.com/jedsoft/most/issues/18

相关内容