by greyblake

greyblake / vim-preview

Vim plugin for previewing markup files(markdown,rdoc,textile,html)

208 Stars 30 Forks Last release: Not found GNU General Public License v2.0 73 Commits 8 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

Preview - Vim plugin for previewing markup files

by Sergey Potapov (aka Blake)


Preview plugin is a tool developed to help you to preview markup files such as .markdown, .rdoc, .textile and .html when you are editing them. It builds html files and opens them in your browser.

Supported Formats

The plugin supports the next formats:

  • markdown(md, mkd, mkdn, mdown) - depends on
    ruby gem
  • rdoc - depends on
    ruby gem
  • textile - depends on
    ruby gem
  • html(htm)
  • ronn - depends on
    ruby gem
  • reStructuredText(rst) - depends on
    ruby gem and
    system util


The plugin requires a builtin ruby interpreter. It means that your Vim should be compiled with

option. To find out does your Vim have builtin ruby interpreter you can do the next: :echo has('ruby')

If output is

the ruby interpreter is builtin.

The second thing you should verify is that you have installed all necessary ruby gems. Please see "Supported Formats" section to find out what gems you need.

For reStructuredText(rst) format except

ruby gem you also need
. To get
util you probably should install
package. Otherwise PreviewRst vim command will show empty html file.


To install the plugin just copy

directories into your .vim directory.


  • <Leader>P - will open current file converted to HTML in your browser.

I want to remind that <Leader> in most cases is "\" key.


If you encountered this err when you press <Leader>P.

Preview: don't know how to handle .modula2 format

You may add this piece of code to .vimrc

autocmd BufNewFile,BufRead \*.{md,mdwn,mkd,mkdn,mark\*} set filetype=markdown

Know bugs

  • In some cases vim can do fork if it uses ruby 1.9. To avoid this trouble fork is done via python.

If you found a bug, please report it. Or better send me a pull request:)


  • Make more unique names for temporary files than just base name ending with
    . There should be
    prefix, PID of Vim and number of buffer to guarantee avoiding conflicts.
  • Add ability to use alternative gems for processing markdown and other formats.
  • Handle exception when 'rubygems' is not found.



This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.