我喜欢带有标记的Mou编辑器,它们具有即时预览渲染结果的强大功能。所以我想知道,是否有办法在Vim中做同样的事情?
:voom markdown
)一起使用的大纲视图。它比动态渲染器有用,因为它使您可以在文档标题周围进行搜寻。
我喜欢带有标记的Mou编辑器,它们具有即时预览渲染结果的强大功能。所以我想知道,是否有办法在Vim中做同样的事情?
:voom markdown
)一起使用的大纲视图。它比动态渲染器有用,因为它使您可以在文档标题周围进行搜寻。
Answers:
我最近发现了一个Chrome扩展程序,该扩展程序使Chrome能够正确打开并显示markdown文件:Markdown预览。
然后,只需在Vim中映射键以使用Chrome打开文件即可。我的看起来像这样:
" Open markdown files with Chrome.
autocmd BufEnter *.md exe 'noremap <F5> :!start C:\Users\tomas\AppData\Local\Google\Chrome\Application\chrome.exe %:p<CR>'
当然,如果您的文件不具有“ .md”扩展名,您希望将映射映射到其他键或Chrome位于其他位置,则必须编辑此命令。
现在,无论何时我在编辑“ .md”文件时,都可以点击<F5>
以在Chrome中打开该文件。完美的解决方案是让Chrome每隔几秒钟自动重新加载,但是我似乎找不到适合本地文件的扩展名。
<F5>
每次要预览文件时都必须点击。您很幸运-我刚刚编写了带有实时Markdown预览功能的vim插件。它也使用github Markdown和样式:https : //github.com/suan/vim-instant-markdown
neovim
。
实际上,您可以使用pandoc编译为您选择的文档格式,并使用外部默认命令查看它。例如,我想将其预览为pdf,并在Ubuntu上使用以下设置。
" pandoc , markdown
command! -nargs=* RunSilent
\ | execute ':silent !'.'<args>'
\ | execute ':redraw!'
nmap <Leader>pc :RunSilent pandoc -o /tmp/vim-pandoc-out.pdf %<CR>
nmap <Leader>pp :RunSilent gnome-open /tmp/vim-pandoc-out.pdf<CR>
我使用编译文档,pc
并使用预览,pp
。由于在ubuntu中evince
是默认查看器,会自动加载更改的文件。你最终只会做,pc
做一些更改以反映出来。
PS:我已将Leader映射到,
我使用Marked.app预览Markdown文件。并已映射<leader>p
以进行预览:
function! s:setupMarkup()
nnoremap <leader>p :silent !open -a Marked.app '%:p'<cr>
endfunction
au BufRead,BufNewFile *.{md,markdown,mdown,mkd,mkdn} call s:setupMarkup()
如果您不想在Marked.app上投入$ 4,则可以尝试Hammer.vim。将行更改为:
map <buffer> <leader>p :Hammer<CR>
不,有几个Vim插件可用于语法突出显示,摘要等,但是Vim仅显示文本和文本,因此您不能在Vim中具有Markdown(或任何其他类型的)预览。
如果您对实时预览感兴趣,那么MarkdownPad可能会更适合您的需求。
这是一个简单的vim插件,用于在Chrome中查看Markdown-它不需要红宝石或其他任何花哨的东西,并且在您写入vim缓冲区时可以刷新预览(也可以通过热键激活)
而且,预览在后台进行,因此您不必离开vim。
我的.vim目录中有一个函数:
function! markdown#preview()
silent update
let output_name = tempname() . '.html'
let file_header = ['<html>', '<head>',
\ '<meta http-equiv="Content-Type" content="text/html; charset=utf-8">',
\ '<title>'.expand('%:p').'</title>',
\ '<link rel="stylesheet" type="text/css" href="http://yui.yahooapis.com/3.3.0/build/cssreset/reset-min.css">',
\ '<link rel="stylesheet" type="text/css" href="http://yui.yahooapis.com/3.3.0/build/cssbase/base-min.css">',
\ '<link rel="stylesheet" type="text/css" href="http://yui.yahooapis.com/3.3.0/build/cssfonts/fonts-min.css">',
\ '<style>body{padding:20px;}div#container{background-color:#F2F2F2;padding:0 20px;margin:0px;border:solid #D0D0D0 1px;}</style>',
\ '</head>', '<body>', '<div id="container">']
call writefile(file_header, output_name)
silent exec '!markdown "' . expand('%:p') . '" >> "' . output_name . '"'
silent exec '!echo "</div></body></html>" >> "' . output_name . '"'
silent exec '!sensible-browser "' . output_name . '" &'
endfunction
这样我也有以下映射:
inoremap <buffer> <F7> <ESC>:call markdown#preview()<CR>
nmap <buffer> <F7> :call markdown#preview()<CR>
它不是完美的,不是实时的,但足以满足我有限的需求。
我碰到一个不错的插件,伟大的工作开箱来到https://github.com/waylan/vim-markdown-extra-preview