我怎样才能阻止“man”连字符?MANWIDTH?

我怎样才能阻止“man”连字符?MANWIDTH?

我一直在尝试获取手册页的输出并将其用于其他用途。这样做没问题,但 Linux 会将行末的单词连字符化,这有点令人恼火,因为当在可变宽度的查看窗口(例如 HTML)上重建文本时,换行符会将随机单词分开。

我该怎么做?我看到了有关 MANWIDTH 的条目,但我无法让它工作...

我试过:

人宽=30
男人

-  还  - 

人宽=1000
男人

没有运气。我尝试创建一个没有“=”符号的 man.confMANWIDTH 30并将其放入 ~ 中,然后尝试:

人-C〜/ man.conf ls

男人打开它,它给了我类似这样的信息:

^H1/4[{sUEy;o)||1XEQ'eo2>>vYYR%+-B
_
                                      _
AUe X...-qe>uyo{R2}Ia\fzuyv?>Oy|3+aaOGN+->ynuuLu{Ey3/4aecSYI~3[=5KVc]aem|6ME=ei2E,
>>Z-:-OT3p<<cMnUA]ColXa+-No?6 AzQakmoEyo32HaeUoEaIxfSc;@S3[&%VDaODO(C)3O}I3
$2z-II9|D5S'VIo.m-PEA9|?'YXi4eZcy}R(R)t^oyu9|d0e<N8t4a3/41A:)
oMNb"ao"OOu>EDaD&E`haUooEiw;f1C.bU-C KpAyb^92uE
o2LKAe N}2OFSFi~MAO QA9|xT@k1/4zy$l'eAAy']CC/>>K^%T*LmI~An&qu
ot;o1/2i2(R)141L,Z o.LXniE$~R6.a5O#AEUA14UiFwY~xIpB8<<JOo(R)QoMAEnUxu$Iw&Cj3eO
fBLJ[Q^Xi-:->>(R)Eo2pm1c, _3ii<<EsCa;

那么我该如何去掉 man 输出中间带连字符的单词呢?

答案1

在我的 Debian 系统上,man man 提供了 --no-hyphenation (--nh) 选项。同一手册页还引用了 MANOPT,它允许您为将来的任何 man 调用设置默认选项。另一个可能让您感兴趣的选项是 --no-justification (--nj)。

将其放入您的 .profile (.bash_profile) 将禁用连字符和对齐:

export MANOPT='--nh --nj'

然而,让我有点困惑的是为什么不使用 --html 标志直接从 man 命令生成 HTML:

export MANOPT='--html'

克里斯

答案2

编辑/usr/share/tmac/doc.tmac并搜索行.de reset-args。在该宏定义中,你应该看到一行类似这样的内容:

.hy \n[hyphen-flags]

将该行更改为:

.hy 0

如果您有任何预先生成的 cat 手册页,则需要删除它们以强制再生。

你已经完成了。但这是全球性的。

答案3

我喜欢

man zshall | fold -w 80 -s | less

其中“zshall”是主要主题

相关内容