There is a new project up at the Workshop: info.vim, a Vim plugin which
implements a complete reader and browser for info documents from within Vim.
This is similar to the standalone
info program or the Emacs info mode.
Info documents are generally produced by the Texinfo program, which is also
the official documentation format for the GNU project. This means that a lot of
important manuals, such as the Bourne Again Shell user manual, are written in
this format. One could read the manual in HTML or PDF, but that means leaving
the editor and interrupting the workflow. Another alternative would be to run
info from within a Neovim terminal buffer, but even that's more of
a workaround than a real solution, plus you have to learn the weird interface
info. Until now Vim users had no real way of reading info
documents without interruption.
A new info reader
The best way to get and idea of info.vim is to see it right in action in this asccicast:
Opening the manual to the Bourne Again Shell is as easy as typing
on the Vim command line. Similar to standalone
info you can also give a node
to jump to:
:Info bash introduction
Info.vim uses the same way of finding files and nodes as standalone
even a short form like
:Info bash intro would find the right node. The
command will open a new window or use an existing window, similar to how Vim's
:help works. You can even use the same modifier like
:vertical, it will
works exactly as you would expect.
For those who like to dig deeper into the meat and build their own scripts on
top of info.vim there are two very handy features: the
b:info variable and
b:info is a buffer-local dictionary that holds information about
the current node, such as sibling nodes, its file or a list of menu items. An
info URI is a special URI that can be used to identify info documents. By
" We had to escape the '%' with '\%' because of Vim :edit info://bash.info/What\%20is\%20Bash\%3f/
you will open the corresponding node right in your current window. Much like
:Info command you can also use a short URI like
Info.vim is clever and will normalise your URI so you don't end up with
multiple buffers all displaying the same content. With this of normalisation in
place we can even add extra information to the URI's query, like a line- and
So go ahead, download info.vim and browse all those info manuals that have been collecting dust on your hard drive so far, and don't forget to report any issues you might come across.