有预览降价文件的vim插件吗?
我喜欢那些能够快速预览渲染结果的标记和牟编辑器。 所以我想知道有没有办法在VIM中做山姆的事情?
我最近发现了Chrome扩展,使Chrome能够正常打开并显示降价文件: Markdown预览 。
然后,只需要在Vim中映射一个键来打开文件。 我看起来像这样:
" 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中打开文件。 一个完美的解决scheme是让Chrome每隔几秒自动刷新一次,但我似乎无法find适用于本地文件的扩展。
优点:
- 可以按下button来预览您的降价文件,而无需任何运行服务器或特殊代码。
- 适用于支持Vim和Chrome的所有平台 – 几乎涵盖所有平台。
缺点:
- 无需自动刷新,每次要预览文件时都必须按
<F5>
键。 - 没有Github风味降价。
你好运 – 我刚刚写了一个vim插件实时Markdown预览。 它使用github Markdown和样式: https : //github.com/suan/vim-instant-markdown
我使用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>
实际上,您可以使用pandoc编译为您select的文档格式,并使用外部默认命令查看它。 例如,我喜欢预览它的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的映射,
不,有几个Vim插件用于语法高亮,片段等,但是Vim仅显示文本和文本 ,因此Vim 中不能有Markdown (或任何其他types的) 预览 。
如果您对实时预览感兴趣,也许MarkdownPad会更好地满足您的需求。
添加到@Codemonkey的答案,如果您使用的是OSX,您可以在.vimrc文件中使用以下内容。
" Open markdown files with Chrome. autocmd BufEnter *.md exe 'noremap <F5> :!open -a "Google Chrome.app" %:p<CR>'
下面是一个简单的vim插件,可以在Chrome浏览器中查看Markdown – 它不需要ruby或其他任何东西,当你写入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
我不认为vim中的预览降价是一个好主意。 但是,只要input%!markdown
,你可以在HTML中转换你的markdown,大概你已经安装了markdown。 然后保存该文件并在浏览器中打开它。