我一直在尝试获取手册页的输出并将其用于其他用途。这样做没问题,但 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”是主要主题