我喜欢Marked和Mou编辑器,因为它们具有实时预览渲染结果的强大功能。所以我想知道,在Vim中是否有一种方法可以做到同样的事情?
neovim
兼容时告知我们! - Tom Hale" Open markdown files with Chrome.
autocmd BufEnter *.md exe 'noremap <F5> :!start C:\Users\tomas\AppData\Local\Google\Chrome\Application\chrome.exe %:p<CR>'
你实际上可以使用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。将该行更改为:
如果你不想花费4美元购买Marked.app,那么你可以尝试Hammer.vim。将这一行更改为:
map <buffer> <leader>p :Hammer<CR>
补充@Codemonkey的回答,如果你使用的是OSX操作系统,可以在.vimrc文件中添加以下内容。
" Open markdown files with Chrome.
autocmd BufEnter *.md exe 'noremap <F5> :!open -a "Google Chrome.app" %:p<CR>'
不,有几个Vim插件可以进行语法高亮、代码片段等等,但是Vim只会显示文本,因此你无法在Vim中预览Markdown(或任何其他类型的预览)。
如果你对实时预览感兴趣,也许MarkdownPad更适合你的需求。
我在我的 .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>
虽然不完美也非实时,但对我有限的需求来说已经足够了。
我认为在vim中预览markdown不是一个好主意。
但是你可以通过输入%!markdown
将你的markdown转换为HTML,假设你已经安装了markdown。然后保存该文件并在浏览器中打开它。
:voom markdown
)一起使用的大纲工具。它比即时渲染器更有用,因为它可以让你轻松浏览文档标题。 - naught101