This week Dr. Drang wrote about a useful feature in recent versions of OS X’s Terminal.app, which allows you to display a man page in its own special window. This is especially useful when you want to look something up but you are in the middle of typing a long command.
It’s not polite to respond to a good solution to a common problem by claiming to have a better solution, and even less so when the better solution requires you to change your shell. But this is the internet, so here goes.
When I need to look at a man page while writing a command, I use zsh’s
push-line
editing command.
This clears the prompt and waits for you to type something else.
After executing this new command, it restores your original prompt.
The nice thing about this is that it is useful beyond just looking at manuals.
Often while typing some command,
I realize I need a quick mkdir
or cd
or even ls
before I’m ready to
execute.
You can bind push-line
to a key (I use Ctrl-B) by putting bindkey '^B' push-line
in your .zshrc
.
Even better, you can use push-line-or-edit
to get the same behavior
with one very useful addition. Normally, if you are typing a continuation line
of a multi-line command, you cannot make changes to prior lines.
But push-line-or-edit
redraws the lines as a single block of text,
which allows you to edit anything you have typed so far.