vim-markdown-composer is a plugin that adds asynchronous Markdown preview to Neovim and Vim.
By default, vim-markdown-composer uses a blazing-fast CommonMark (and
GitHub)-compliant renderer. However, it can be configured to use any external
program for rendering, such as pandoc
.
This plugin requires Neovim or Vim 8. If you are using an OS with Vim
pre-installed, the system Vim might be too old (see vim --version
).
This plugin supports Windows, macOS, and Linux.
In addition to Neovim or Vim, vim-markdown-composer requires a distribution of
Rust with cargo
. Check out the Rust installation guide.
vim-markdown-composer officially targets the latest version of stable Rust.
Use whatever plugin manager you like. If you aren't familiar with plugin managers, I recommend vim-plug.
Here's an example of managing installation with vim-plug:
function! BuildComposer(info)
if a:info.status != 'unchanged' || a:info.force
if has('nvim')
!cargo build --release --locked
else
!cargo build --release --locked --no-default-features --features json-rpc
endif
endif
endfunction
Plug 'euclio/vim-markdown-composer', { 'do': function('BuildComposer') }
In your .vimrc
:
Plugin 'euclio/vim-markdown-composer'
Once you have installed the plugin, close Vim/Neovim then (on Linux):
$ cd ~/.vim/bundle/vim-markdown-composer/
# Vim
$ cargo build --release --no-default-features --features json-rpc
# Neovim
$ cargo build --release
call dein#add('euclio/vim-markdown-composer', { 'build': 'cargo build --release' })
You should run cargo build --release
in the plugin directory after
installation. Vim support requires the json-rpc
cargo feature.
If you use the above snippet, everything should be taken care of automatically.
By default, vim-markdown-composer
will open a new browser tab with the rendered preview. This can be prevented by setting the following in your Vim configuration:
let g:markdown_composer_autostart = 0
:help markdown-composer
, or check out the doc
directory.
This plugin is inspired by suan's vim-instant-markdown.
This plugin was built with aurelius, a Rust library for live-updating Markdown previews.