Skip to content

iamcco/markdown-preview.nvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

✨ Markdown Preview for (Neo)vim ✨

power by ❤️

Introduction

It only works on vim >= 8.1 and neovim

preview markdown on your modern browser with sync scroll and flexible configuration

main features:

  • cross platform (macos/linux/windows)
  • sync scroll
  • fast async update
  • katex typesetting math
  • plantuml
  • mermaid
  • chart.js
  • emoji
  • task list
  • local image
  • flexible configuration

screenshot

install & usage

install by vim-plug:

" if you don't have nodejs and yarn
" use pre build
Plug 'iamcco/markdown-preview.nvim', { 'do': { -> mkdp#util#install() }}

" have nodejs and yarn
Plug 'iamcco/markdown-preview.nvim', { 'do': 'cd app & yarn install'  }

config:

" set to 1, the nvim will open the preview window once enter the markdown buffer
" default: 0
let g:mkdp_auto_start = 0

" set to 1, the nvim will auto close current preview window when change
" from markdown buffer to another buffer
" default: 1
let g:mkdp_auto_close = 1

" set to 1, the vim will just refresh markdown when save the buffer or
" leave from insert mode, default 0 is auto refresh markdown as you edit or
" move the cursor
" default: 0
let g:mkdp_refresh_slow = 0

" set to 1, the MarkdownPreview command can be use for all files,
" by default it just can be use in markdown file
" default: 0
let g:mkdp_command_for_global = 0

" set to 1, preview server available to others in your network
" by default, the server only listens on localhost (127.0.0.1)
" default: 0
let g:mkdp_open_to_the_world = 0

" switch browser to open preview page
" default: ''
let g:mkdp_browser = ''

" set to 1, echo preview page url in command line when open preview page
" default is 0
let g:mkdp_echo_preview_url = 0

" options for markdown render
" mkit: markdown-it options for render
" katex: katex options for math
" uml: markdown-it-plantuml options
" maid: mermaid options
let g:mkdp_preview_options = {
    \ 'mkit': {},
    \ 'katex': {},
    \ 'uml': {},
    \ 'maid': {}
    \ }

" use a custom markdown style must be absolute path
let g:mkdp_markdown_css = ''

" use a custom highlight style must absolute path
let g:mkdp_highlight_css = ''

" use a custom port to start server or random for empty
let g:mkdp_port = ''

command:

" preview
:MarkdownPreview

" stop preview"
:MarkdownPreviewStop

F&Q

A: Why my sync scroll is slow reaction

B: set updatetime to a small number, like set updatetime=100

About vim support

vim support is power by vim-node-rpc

this plugin is integrate with vim-node-rpc, so you don't need to install vim-node-rpc

reference

Buy Me A Coffee ☕️

image