less to output text. How can I tell it to just output to stdout? My terminal emulator has a scroll bar and search function and I want to use those instead of the arrow keys.
Actually it uses whatever is specified in the
MANPAGER or the
PAGER environment variable.
Depending on your
man implementation and version there could be also a command line switch to specify the pager.
With the man-db implementation I use all the below ways work:
MANPAGER=cat man man PAGER=cat man man MANOPT='-P cat' man man man -P cat man
To set it permanently, just add it to your
~/.bashrc (or other initialization file used by your shell):
That works with some older
man implementations too, while
MANOPT is man-db specific:
export MANOPT='-P cat'
(Better do not set
PAGER that way. That one is used by many other applications too.)
There could be also a global configuration file. man-db has
/etc/manpath.config. There you can set:
DEFINE pager cat
But unfortunately that is taken in consideration only if neither
PAGER is set.
Simply pipe the output of
man ls | cat # useful use of cat
Try these commands to generate man output without a pager.
man ls | cat(generated fixed width)
man -P cat ls(generated variable width)
I was on a GNU linux system
Another angle: Similar to Tony's answer.
You can also redirect man output into a file and view it with your favorite text editor or even add bookmarks, comments, etc. to it.
man bash > bashman.txt
I have a copy of the bash man page as well as just the sections on bash flow control and bash test flags saved as text files in my bin directory so I can load them right into my text editor (kate) for reference while I'm writing bash scripts.
Warning: depending on your system and the man page, the above command may result in formatting information and control characters in the file.
To avoid this, do as suggested in
LESS='+/^TIPS' man man:
To get a plain text version of a man page, without backspaces and underscores, try # man foo | col -b > foo.mantxt