可能有许多问题。
看到正在使用时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-terminal
或xterm
,看看是否可行。
3号
echo -E "a^Ha" | LESS= less -r
(^H
必须先按Ctrl+ V再按Ctrl+ 来输入H)
应该打印
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
现在应该可以工作了!