Open a markdown file in vim and run
:MarkdownPreview. The preview opens in a new browser tab which will be reloaded whenever you
:write the buffer. If you accidentally close your browser tab or want to change the theme just run the command again. The file needs to be written to disk before you can start the preview.
live-server executables should be installed and accessible in your
Pandoc should be available in most Linux distributions and on macOS via brew and Windows via chocolatey.
On macOS using Homebrew:
brew install pandoc
sudo apt install pandoc
sudo dnf install pandoc
Either download the executable or get it with Chocolatey
choco install pandoc
For other systems please see the links in the description on how to install.
Assuming you have Node.js installed:
npm install -g @compodoc/live-server
See this issue on why the live-server fork is preferred.
If you are using vim-plug
source the file (
:source %) (or restart vim) and then run
There is only a single command:
:MarkdownPreview [theme] Starts the browser preview of the current file. Optional argument to select a theme. The available themes are currently: * github * solarized-light * solarized-dark
Set this variable in your init.vim to specify a default theme for the preview. The default is the GitHub theme.
let g:nvim_markdown_preview_theme = 'solarized-light'
Set this variable to specify the pandoc input format (--format/-f) option.
The default is
gfm (GitHub flavored markdown).
let g:nvim_markdown_preview_format = 'markdown'
Take a look at
:help nvim-markdown-preview for complete documentation and examples.
Q: Why doesn't the preview update in real-time while I type in vim?
A: This plugin simply doesn't work like that. It only aims to provide some live update capabilities around what is essentially
:w !pandoc % -o /tmp/file.html
Q: I want the preview tab to open automatically without typing
A: Sure, use an
autocmd FileType markdown MarkdownPreview
<Plug> mapping to bind it to the key of your choice
nmap <cr> <plug>(nvim-markdown-preview)
The markdown file must be written to disk first. It should be possible to use Pandoc
stdin and pipe the buffer content using
nvim-markdown-preview Copyright (C) 2018 David Granström 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 3 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, see <https://www.gnu.org/licenses/>.