The UNIX philosophy is based on the DRY principle which declares: “Don’t repeat yourself”. Therefore, a program just does what it’s made for and uses libraries or even other programs on your system to do a more advanced job. Some of these auxiliary programs are user definable and probably you already know the
EDITOR environment variable, which specifies your default editor for the console. This is used, e.g., for the command
visudo, which opens your
/etc/sudoers file safely, or by
svn to input a commit comment. But another important component is your console pager, which is used to display textual content on the console.
As a system administrator or a more advanced Linux user you surely know
man and how to use it.
man shows you the (probably localized) contents of your system’s manual pages for a specific command or file, at least you might think so, but actually that’s wrong or let’s say: not completely the truth.
man selects which manpage to show, but the display itself is managed by your pager. Of course, not only
man makes use of the pager, also commands like
I assume, you have already used your pager very often, which is nothing else than
lv (which is also a good pager but very seldom installed by default and therefore rarely known). Most of the time, you use them to display the contents of log files or configurations, which you don’t want to alter, but that’s not all. As mentioned before, other programs use your pager as well and there is a way to configure which one to take and of course also how to use it.