How can I force the man command to not use a pager, and instead output the whole manpage at once and keep all highlighting?
If I use man -P cat or man | cat, I lose highlighting.
How can I force the man command to not use a pager, and instead output the whole manpage at once and keep all highlighting?
If I use man -P cat or man | cat, I lose highlighting.
Long reading of manuals for man, less, groff and grotty finally gave me answer
Highlighting by default is made using backspace sequences: c\bc => bold c, _\bc => underlined c. But if output as is using cat as pager just outputs plain c in both cases. Also blank lines are squeezed, so to do all this, pager must be set to ul | cat -s.
Pager can be set in many ways:
using MANPAGER or PAGER variables (MANPAGER is better as PAGER affects not only man command)
export MANPAGER='ul | cat -s'
in man.conf
PAGER ul | cat -s
using -P parameter
cat -P 'ul | cat -s' …
or
alias man='man -P "ul | cat -s"'
man man
...
PAGER A program to use for interactively delivering
man's output to the screen. If not set,
`more -s' is used. See more(1).
Which means the pager is regulated by PAGER env. variable, Thus just define PAGER as
setenv PAGER cat
and enjoy.
Alternatively, there's always the -P switch:
man -P cat foo
man -P cat man |tee foo.txt ; less -R foo.txt. The formatting is still there; it just doesn't show up in the command window.
– amphetamachine
Jan 04 '10 at 22:55
This is not exactly what you want (you won't get the output in the console) but you could generate a dvi file with the content of a manual as explained in man's man:
man -l -Tdvi ./foo.1x.gz > ./foo.1x.dviThis command will decompress and format the nroff source manual page ./foo.1x.gz into a device independent (dvi) file. The redi‐ rection is necessary as the -T flag causes output to be directed to stdout with no pager. The output could be viewed with a program such as xdvi or further processed into PostScript using a program such as dvips.
I've just tested this and opened the dvi file with evince: the highlighting is not lost.