在我编译了更高版本的groff
.例如,当我尝试查看 的groff
手册页时:
GROFF(1) General Commands Manual GROFF(1)
ESC[1mNAMEESC[0m
groff - front-end for the groff document formatting system
ESC[1mSYNOPSISESC[0m
ESC[1mgroff ESC[22m[ESC[1m-abcegijklpstzCEGNRSUVXZESC[22m] [ESC[1m-d ESC[4mESC[22mcsESC[24m] [ESC[1m-D
ESC[4mESC[22margESC[24m] [ESC[1m-f ESC[4mESC[22mfamESC[24m] [ESC[1m-F ESC[4mESC[22mdirESC[24m]
[ESC[1m-I ESC[4mESC[22mdirESC[24m] [ESC[1m-K ESC[4mESC[22margESC[24m] [ESC[1m-L ESC[4mESC[22marg
ESC[24m] [ESC[1m-m ESC[4mESC[22mnameESC[24m] [ESC[1m-M ESC[4mESC[22mdirESC[24m] [ESC[1m-n ESC[4mESC[22mnumESC[24m] [ESC[1m-o ESC[4mESC[22mlistESC[24m]
[ESC[1m-P ESC[4mESC[22margESC[24m] [ESC[1m-r ESC[4mESC[22mcnESC[24m] [ESC[1m-T ESC[4mESC[22mdevESC[24m] [ESC[1m-w ESC[4mESC[22mnameESC[24m] [ESC[1m-W ESC[4mESC[22mnameESC[24m] [ESC[4mfileESC[24m ...]
ESC[1mgroff -h ESC[22m| ESC[1m--helpESC[0m
ESC[1mgroff -v ESC[22m| ESC[1m--version ESC[22m[ESC[4moptionESC[24m ...]
ESC[1mDESCRIPTIONESC[0m
This document describes the ESC[1mgroff ESC[22mprogram, the main front-end for the
ESC[4mgroffESC[24m document formatting system. The ESC[4mgroffESC[24m program and macro suite is
the implementation of a ESC[1mroffESC[22m(7) system within the free software collec-
tion GNU <http://www.gnu.org>. The ESC[4mgroffESC[24m system has all features of
:
答案1
您的man
命令用于groff
使用 ANSI 颜色转义序列 (ISO 6429) 格式化页面,并且您的分页程序(可能是more
或less
)正在扩展这些不可打印的字符,而不是将它们原样传递到终端屏幕。
要告诉less
(例如)不要扩展这些 ANSI 序列,请使用-R
或--RAW-CONTROL-CHARS
选项。您通常可以通过在环境变量中设置所需的选项LESS
或使用PAGER
环境变量来完成此操作:
$ LESS='-R' man groff
$ PAGER='less -R' man groff
它也可能是对底层的错误指令groff
,导致groff
(或grotty
) 在您并不真正需要时发出 ANSI 转义。您可以man
通过使用类似以下内容来告诉不要使用转义符:
$ man --ascii groff
手册页grotty
详细讨论了解决问题的选项。