5

I've been trying to grab the output of man pages and use it in some other things. That's working OK, but linux is hyphenating the words that are at the end of a line and that's kind of irritating because when the text is reconstructed on a variable width viewing window (think HTML), the line breaks reamin split- ting up ran- dom words.

How should I do this? I saw the entry regarding MANWIDTH but I can't get it to work...

I tried:

MANWIDTH=30
man ls

-- also --

MANWIDTH=1000
man ls

No luck. I tried creating a man.conf that had MANWIDTH 30 (no "=" sign) and putting it in ~ and then tried:

man -C ~/man.conf ls

Man opens and it give me something like this:

^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;

So how do I get rid of those hyphenated words in the mid- dle of my man output?

4
  • "$ MANWIDTH=40 man ls" work in Ubuntu(man-db 2.5.7-2ubuntu1) Commented Jan 23, 2011 at 20:40
  • 2
    Try export MANWIDTH=4000; man ls. You probably need to have the variable exported for ls to use it properly. Commented Jan 23, 2011 at 21:47
  • Have you considered using a troff to html tool since you mentioned HTML? Commented Jan 23, 2011 at 22:01
  • 1
    Either of the above suggestions should work. If you simply set the variable as you show in your question, it's not exported into the environment of man. Note that @Scrivener meant to say "for man to use it". Commented Jan 23, 2011 at 22:03

3 Answers 3

6

On my Debian system, man man offers the --no-hyphenation (--nh) option. The same man page also refers to MANOPT, which allows you to set the default options for any future invocation of man. Another option possibly of interest to you is --no-justification (--nj).

Putting this in your .profile (.bash_profile) would disable hyphenation and justification:

export MANOPT='--nh --nj'

However, what slightly puzzles me is why you don't use the --html flag to generate HTML directly from the man command:

export MANOPT='--html'

Chris

1
  • I guess this was the best answer, although I think Scrivener's comment "Try export MANWIDTH=4000; man ls. You probably need to have the variable exported for ls to use it properly." was probably the most helpful. Thanks to you both! Commented Jan 28, 2011 at 5:21
0

Edit /usr/share/tmac/doc.tmac and search for the line .de reset-args. Within that macro definition, you should see a line saying something like:

.hy \n[hyphen-flags]

Change that line to:

.hy 0

If you have any pre-generated cat manpages, you'll need to nuke those to force regeneration.

You're done. But it's global.

0

I like

man zshall | fold -w 80 -s | less

where "zshall" is the man topic

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.