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 --releasecall 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.
