Man pages make Unix go ‘round. I can’t think of any system that’s better documented, and the answers are almost always right at your fingertips.
There are a dozen ways to view a man page, starting with
man [command] on the command line, which is by far the most common and often the most useful. But with a few tricks, you can load your man pages into something that allows better search, screen-permanence, and easier copying for saving example lines, etc..
The first trick I’ll show you is how to get a man page open in Preview.app. It’s simple, the
man command has an output format ready for PostScript conversion:
An aside about the
open command… You can open any Mac app, or open files directly with the app, using
open (OS X only). The
-a flag tells
open which app you want to open, and accepts a simple application name or a full path. Leaving that off and running it directly on a file or URL will use the default app for that type. The
-f switch tells it to read input from STDIN. Also, the
-F switch will open it “fresh,” meaning no windows are restored. That can be a handy one if you have an app crashing on a particular document that keeps restoring on launch.
open -a "Marked 2" filename.md is a fast way to open a Markdown file in Marked 2.
To get a similar effect in other apps that output man-formatted pages, such as
git help, you can spell out the equivalent like this:
-P-pa4 sends an A4 page size to the groff printer, which is the only way I get output that doesn’t have split lines over page breaks.
In your text editor
You can use a similar trick to send your man pages to an editor like Sublime, which can take input on STDIN and create a temp file automatically. With the
subl tool installed:
This can be aliased in your
git help has another interesting shortcut that lets you jump to the web-based version of local documentation:
git help -w [command].
Third party apps
There are quite a few handy third-party tools for viewing man pages as well. vimpager (available through
brew) is an alternative to
less that you can use in a
man command with the
man -P vimpager groff. Depending on your Vim setup, this can give you syntax-highlighted, easy-to-navigate man pages.
MANPAGER=vimpager man groff has the same effect, and you can
export MANPAGER=vimpager in your profile to have it be the default.
Bwana is a tool for opening man pages in your web browser. Once installed, you can use
open man:groff to open the
groff man page in your default browser. You can also use it directly in the browser window by just typing “man:groff” as your url.
There’s a handy, dedicated man page viewer called ManOpen, too. It can run “apropos” searches and open any page from a text field, including easy linking between associated man pages. It has a url scheme: “x-man-page:groff” will open it from the command line or from a web browser. I use a bash function that runs
open x-man-page:$1 when I type
Last, but not at all least, is Dash. Dash can load all of your system man pages as a Docset, and then you can access it with the Dash url handler:
open "dash://man:groff". All the benefits of Dash with the same accessibility as the other methods.
Ryan Irelan has produced a series of shell trick videos based on BrettTerpstra.com posts. Readers can get 10% off using the coupon code