Introduction
Using the markdown-preview.vim plugin, you can preview Markdown in real-time with a web browser.
This plugin needs your Vim to support Python 2 / Python 3 features. Tested on Windows / Ubuntu 14 / Mac OS X.
Note: PLEASE USE markdown-preview.nvim INSTEAD
Screenshots
Markdown preview
Typeset math
Installation
With vim-plug:
Add Plug 'iamcco/markdown-preview.vim'
to the vimrc
or init.vim
file and type :PlugInstall
.
Or with MathJax support for typesetting math:
Plug 'iamcco/mathjax-support-for-mkdp'
Plug 'iamcco/markdown-preview.vim'
Usage
Command:
MarkdownPreview
" Open preview window in markdown buffer
MarkdownPreviewStop
" Close the preview window and server
When
MarkdownPreview
command can't open the preview window, you can use theMarkdownPreviewStop
command before usingMarkdownPreview
command.
Default Setting:
let g:mkdp_path_to_chrome = ""
" Path to the chrome or the command to open chrome (or other modern browsers).
" If set, g:mkdp_browserfunc would be ignored.
let g:mkdp_browserfunc = 'MKDP_browserfunc_default'
" Callback Vim function to open browser, the only parameter is the url to open.
let g:mkdp_auto_start = 0
" Set to 1, Vim will open the preview window on entering the Markdown
" buffer.
let g:mkdp_auto_open = 0
" Set to 1, Vim will automatically open the preview window when you edit a
" Markdown file.
let g:mkdp_auto_close = 1
" Set to 1, Vim will automatically close the current preview window when
" switching from one Markdown buffer to another.
let g:mkdp_refresh_slow = 0
" Set to 1, Vim will just refresh Markdown when saving the buffer or
" leaving from insert mode. With default 0, it will automatically refresh
" Markdown as you edit or move the cursor.
let g:mkdp_command_for_global = 0
" Set to 1, the MarkdownPreview command can be used for all files,
" by default it can only be used in Markdown files.
let g:mkdp_open_to_the_world = 0
" Set to 1, the preview server will be available to others in your network.
" By default, the server only listens on localhost (127.0.0.1).
Key Mapping:
By default this plugin has no mapping: if you want to have your own mappings,
you can map the keys to <Plug>MarkdownPreview
for opening the Markdown preview window and
map keys to <Plug>StopMarkdownPreview
for closing the preview window.
Examples for mapping the F8
key to open Markdown preview window and F9
key to
close preview window:
" for normal mode
nmap <silent> <F8> <Plug>MarkdownPreview
" for insert mode
imap <silent> <F8> <Plug>MarkdownPreview
" for normal mode
nmap <silent> <F9> <Plug>StopMarkdownPreview
" for insert mode
imap <silent> <F9> <Plug>StopMarkdownPreview
For OS X users, you can set the g:mkdp_path_to_chrome
as below (if you use Chrome):
let g:mkdp_path_to_chrome = "open -a Google\\ Chrome"
" or
let g:mkdp_path_to_chrome = "/Applications/Google\\ Chrome.app/Contents/MacOS/Google\\ Chrome"
See issue #1 for details.
FAQ
Q: The Firefox preview window didn't close when leaving the Markdown file in Vim.
A: If you want the plugin to auto-close the preview window in Firefox, you have to do some configuration:
- Open Firefox.
- Type
about:config
in the address bar and press theEnter
key. - Search for
dom.allow_scripts_to_close_windows
and set its value totrue
.
You have to know what will happen when you make the above changes.
Changelog
- 2017/07/16: Add
g:mkdp_open_to_the_world
option. - 2016/11/19: MathJax support with mathjax-support-for-mkdp plugin.
- 2016/08/28: Set the title of preview page with filename.
- 2016/05/18: Support key mapping and new
g:mkdp_command_for_global
option item. - 2016/03/12: New Github-like Markdown styles markdown.css and support task list.
- 2016/01/24: Support to display the local picture in Markdown.