View man pages in vim. Grep for the man pages.
:Man printf
- openprintf(1)
man page in a split:Vman 3 putc
- openputc(3)
man page in a vertical split (read more here on what the manual page numbers mean, they are really useful):Man pri<Tab>
- command completion for man page names:Man 3 pri<Tab>
- completion "respects" the man page section argument:Man 6 <Ctrl-D>
- list all man pages from section 6
:Man
- (without arguments) open a currentnroff
file as a man page
[[
and]]
- jump to prev/next section headingCtrl-]
- jump to man page for a word under cursor (works nicely with specially highlighted references to other man pages i.e.printf(3)
), also defined for other tag mappings likeg_Ctrl-]
,Ctrl-W_Ctrl-]
etc.K
- same asCtrl-]
Ctrl-T
- jump *back* to the previous man pageg/
- start option search (useful for quickly jumping to man page option description, example--quiet
or-q
)gx
- open a link under cursor in a browser (vim feature)gf
- jump to a file under cursor (vim feature, works nicely with C header files often found in section 2 and 3 man pages i.e.<sys/socket.h>
)q
- quitvim-man
buffer
You can use vim-man from the shell (instead of standard man
program) using
the following script:
#! /bin/sh
vim -c "Man $1 $2" -c 'silent only'
Save it in /usr/bin/
as a file named viman
, give it execution
permission with:
$ chmod +x /usr/bin/viman
Then from your shell you can read a DOC with:
$ viman doc
Or you can use the alias alias man=viman
so you can do (as usual):
$ man doc
Also see About Mangrep
:Mangrep 1 foobar
- search for "foobar" in all section 1 man pages:Mangrep foobar
- same as:Mangrep 1 foobar
(grepping all man sections by default would take too long):Mangrep * foobar
- force search *all* man sections:Mangrep -i 6 foobar
- case insensitive search:Mangrep 6 '(foo|bar|baz)'
- regex search (Mangrep
usesgrep -E
), just remember to quote the search pattern
No mappings are defined by default.
map <leader>k <Plug>(Man)
- open man page for word under cursor in a horizontal splitmap <leader>v <Plug>(Vman)
- open man page for word under cursor in a vertical split
This feature is still in beta. Please help fix the issues.
Mangrep
populates quickfix list with the results. While they should be
accurate, you might experience hiccups when opening those results.
Running Mangrep
:
- the command runs in the background if you use neovim
- The command runs in the background if you have
vim-dispatch installed. Access the
results with
:Copen
command (may be called before the process is finished). - If you have vanilla vim the command will *block* and make vim unusable
until done (and it can take a while).
Installing vim-dispatch is recommended. Or at least runMangrep
in another vim so your working vim instance stays usable.
Just use your favorite plugin manager.
If you were previously using man.vim
that comes with vim by default, please
remove this line runtime! ftplugin/man.vim
from your .vimrc
. It's known to
be causing issues with this
plugin.
Contributing and bug fixes are welcome. If you have an idea for a new feature please get in touch by opening an issue so we can discuss it first.
Vim by default comes with man page viewer, as decribed in find-manpage. This work is the improvement of vim's original man page plugin. The list of improvements is here.
These people created and maintain (or maintained) man.vim
that comes with vim
itself:
- SungHyun Nam
- Gautam H. Mudunuri
- Johannes Tanzler
Vim license, see :help license
.