我喜欢标记的和Mou编辑器,它具有很好的动态预览渲染结果的能力。所以我想知道,有没有办法在Vim做同样的事情?
答案 0 :(得分:61)
你很幸运 - 我刚刚编写了一个带有实时Markdown预览功能的vim插件。它也使用github Markdown和样式:https://github.com/suan/vim-instant-markdown
答案 1 :(得分:41)
我最近发现了Chrome扩展程序,可以让Chrome正常打开并显示降价文件:Markdown preview。
然后只需要在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>
。答案 2 :(得分:13)
我使用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>
答案 3 :(得分:11)
您实际上可以使用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映射到,
答案 4 :(得分:5)
不,有几个Vim插件用于语法高亮,片段等,但 Vim只显示文本和文本 ,因此 你不能有Markdown (或其他任何类型)在Vim中 预览 。
如果您对实时预览感兴趣,可能会MarkdownPad更适合您的需求。
答案 5 :(得分:5)
添加到@Codemonkey的答案,如果您使用的是OSX,则可以在.vimrc文件中使用以下内容。
" Open markdown files with Chrome.
autocmd BufEnter *.md exe 'noremap <F5> :!open -a "Google Chrome.app" %:p<CR>'
答案 6 :(得分:3)
这是一个简单的vim插件,可以在Chrome中查看Markdown - 它不需要红宝石或任何花哨的东西,并且会在您写入vim缓冲区时刷新预览(也可以使用热键激活)
此外,预览在后台进行,因此您永远不必离开vim。
答案 7 :(得分:1)
我的.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>
它并不完美,它不是实时的,但它足以满足我的有限需求。
答案 8 :(得分:1)
我遇到了一个很好的插件,开箱即用https://github.com/waylan/vim-markdown-extra-preview
答案 9 :(得分:0)
我不认为vim中的预览降价是个好主意。
但是你可以通过输入%!markdown
来改变HTML中的降价,大概你已经安装了降价。然后保存该文件并在浏览器中打开它。