/
markdown_quickrun.vim
46 lines (42 loc) · 1.14 KB
/
markdown_quickrun.vim
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
" markdown
let g:quickrun_config = {
\ 'markdown/update' : {
\ 'runner' : 'vimproc',
\ 'outputter' : 'error',
\ 'outputter/error/error' : 'message',
\ 'command' : 'mkdpreview',
\ 'srcfile' : expand("%"),
\ 'cmdopt' : '-u',
\ 'exec': '%c %o %s',
\ },
\
\ 'markdown/visual' : {
\ 'runner' : 'vimproc',
\ 'outputter' : 'error',
\ 'outputter/error/error' : 'message',
\ 'command' : 'mkdpreview',
\ 'cmdopt' : '-s -p',
\ 'exec': '%c %o %s',
\ },
\}
let g:quickrun_config['markdown'] = {
\ 'runner' : 'vimproc',
\ 'outputter' : 'error',
\ 'outputter/error/error' : 'message',
\ 'command' : 'mkdpreview',
\ 'cmdopt' : '-s -p',
\ 'exec': '%c %o %s',
\}
" QuickRun and view compile result quickly
nnoremap <silent> <F5> :QuickRun -type markdown<CR>
vnoremap <silent> <F5> :QuickRun -type markdown/visual<CR>
augroup markdown_pandoc
autocmd!
autocmd BufWritePre *.md call s:auto_mkdir(expand('<afile>:p:h'))
function! s:auto_mkdir(dir)
if !isdirectory(a:dir)
call mkdir(iconv(a:dir, &encoding, &termencoding), 'p')
endif
endfunction
autocmd BufWritePost,FileWritePost *.md :QuickRun -type markdown/update
augroup END