彩色手册页不适用于 gentoo

Vic*_*red 8 less colors man termcap gentoo

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

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

编辑2

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

Mik*_*kel 21

可能有很多问题。

看到您正在使用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
Run Code Online (Sandbox Code Playgroud)

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

man ls
Run Code Online (Sandbox Code Playgroud)

如果它不起作用,请运行以下各项以找出问题所在:


1号

typeset -p LESS_TERMCAP_md | cat -v
Run Code Online (Sandbox Code Playgroud)

应该打印

typeset -x LESS_TERMCAP_md="^[[01;31m"
Run Code Online (Sandbox Code Playgroud)

typeset -p LESS
Run Code Online (Sandbox Code Playgroud)

应该打印

typeset -x LESS="-r"
Run Code Online (Sandbox Code Playgroud)

如果没有,你把这些export LESS东西放在错误的文件中。


2号

echo "${LESS_TERMCAP_md}red${LESS_TERMCAP_me}"
Run Code Online (Sandbox Code Playgroud)

应该打印

red
Run Code Online (Sandbox Code Playgroud)

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


3号

echo -E "a^Ha" | LESS= less -r
Run Code Online (Sandbox Code Playgroud)

^H必须按Ctrl+V然后Ctrl+输入H

应该打印

a
Run Code Online (Sandbox Code Playgroud)

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

type less
less --version
Run Code Online (Sandbox Code Playgroud)

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


4号

bzcat /usr/share/man/man1/ls.1.bz2 | \
    /bin/sh /usr/bin/nroff -mandoc -Tutf8  | head -n 5 | cat -v
Run Code Online (Sandbox Code Playgroud)

应该打印

LS(1)                            User Commands                           LS(1)



N^HNA^HAM^HME^HE
Run Code Online (Sandbox Code Playgroud)

(注意第^H3 步中的类似内容)

如果它正在打印类似的东西:

LS(1)                            User Commands                           LS(1)



^[[1mNAME^[[0m
Run Code Online (Sandbox Code Playgroud)

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


5号

bzcat /usr/share/man/man1/ls.1.bz2 | \
    /bin/sh /usr/bin/nroff -mandoc -Tutf8 | less
Run Code Online (Sandbox Code Playgroud)

应该显示ls带有颜色的手册页。


man ls
Run Code Online (Sandbox Code Playgroud)

现在应该可以工作了!

  • export GROFF_NO_SGR=1 成功了,谢谢,你能给我指出一些关于这个的参考吗?你是唯一一个给出不同答案的人。 (7认同)