是否有用于预览降价文件的Vim插件?

是否有用于预览降价文件的Vim插件?,vim,markdown,Vim,Markdown,我喜欢marked和Mou编辑器,它具有实时预览渲染结果的强大功能。所以我想知道,有没有办法在Vim中做同样的事情呢?没有,有几个Vim插件用于语法高亮显示、代码片段等,但是Vim只显示文本和文本,因此不能在Vim中进行标记(或任何其他类型的)预览 如果您对实时预览感兴趣,可能更适合您的需要。我的.vim目录中有一个函数: function! markdown#preview() silent update let output_name = tempname() . '.html'

我喜欢marked和Mou编辑器,它具有实时预览渲染结果的强大功能。所以我想知道,有没有办法在Vim中做同样的事情呢?

没有,有几个Vim插件用于语法高亮显示、代码片段等,但是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
函数!降价#预览()
静默更新
让输出_name=tempname()。html'
让文件头=['',
\ '',
\''。展开('%:p')。'',
\ '',
\ '',
\ '',
\'正文{填充:20px;}div#容器{背景色:#F2F2F2;填充:0 20px;边距:0px;边框:实心#d0d0d01px;}',
\ '', '', '']
调用writefile(文件头、输出名)
沉默的执行官!标记“.”。展开(“%:p”)。“>>”。输出名称。“”
沉默的执行官!echo“>>”。输出名称。“”
沉默的执行官!合理的浏览器“.”。输出名称“&”
端功能
因此,我也有以下映射:

inoremap <buffer> <F7> <ESC>:call markdown#preview()<CR>
nmap <buffer> <F7> :call markdown#preview()<CR>
inoremap:callmarkdown#preview()
nmap:调用降价#预览()
它不是完美的,也不是实时的,但足以满足我有限的需求。

我用来预览降价文件。并已映射
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()
函数!s:setupMarkup()
NNP:安静!打开-已标记的.app“%:p”
端功能
au BufRead,BufNewFile*{md,markdown,mdown,mkd,mkdn}调用s:setupMarkup()
如果你不想在Marked.app上花费4美元,那么你可以试试。将行更改为:

map <buffer> <leader>p :Hammer<CR>
map p:Hammer

你很幸运-我刚刚编写了一个带有实时降价预览的vim插件。它还使用github标记和样式:

我最近发现了一个Chrome扩展,它使Chrome能够正确打开和显示标记文件:

然后,只需在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>'
“使用Chrome打开标记文件。
autocmd BufEnter*.md exe'noremap:!启动C:\Users\tomas\AppData\Local\Google\Chrome\Application\Chrome.exe%:p'
当然,如果您的文件没有“.md”扩展名,您希望映射在不同的键上,或者如果Chrome位于不同的位置,则必须编辑此命令

现在,每当我编辑一个“.md”文件时,我都可以点击
在Chrome中打开该文件。一个完美的解决方案是让Chrome每隔几秒钟自动重新加载一次,但我似乎找不到这样一个适用于本地文件的扩展名


赞成的意见:
  • 点击按钮预览降价文件的功能,无需任何正在运行的服务器或特殊代码
  • 适用于支持Vim和Chrome的所有平台,几乎涵盖所有平台
欺骗:
  • 无自动刷新,每次要预览文件时都必须点击
  • 没有Github口味的降价

我遇到了一个很好的插件,它开箱即用,非常好

你可以用它编译成你选择的文档格式,并使用外部默认命令查看它。例如,我喜欢以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>
“潘多克,降价
命令-nargs=*RunSilent
\|执行:沉默!'
\|执行“:重画!”
nmap pc:RunSilent pandoc-o/tmp/vim-pandoc-out.pdf%
nmap-pp:RunSilent-gnome-open/tmp/vim-pandoc-out.pdf
我使用
、pc
编译文档,并使用
、pp
预览文档。因为在ubuntu中,
evice
是默认的查看器,可以自动加载更改过的文件。您最终只需在pc上执行
,以反映您的更改


PS:我已将Leader映射到,

添加到@Codemonkey的答案中,如果您使用的是OSX,则可以在.vimrc文件中使用以下内容

" Open markdown files with Chrome.
autocmd BufEnter *.md exe 'noremap <F5> :!open -a "Google Chrome.app" %:p<CR>'
“使用Chrome打开标记文件。
autocmd BufEnter*.md exe'noremap:!open-a“Google Chrome.app”%:p

我认为在vim中预览降价不是一个好主意。
但是,您只需键入
%!markdown
,就可以在HTML中转换标记。您可能已经安装了markdown。然后保存该文件并在浏览器中打开它。

这里有一个简单的vim插件,可以在Chrome中查看标记-它不需要ruby或任何花哨的东西,在写入vim缓冲区时将刷新预览(也可通过热键激活)

此外,预览在后台进行,因此您永远不必离开vim


有了它和浏览器中的自动重新加载插件,两个窗口并排…@Lucapete-这个功能基本上就是Nate Silva的插件,不是吗?@Idigas老实说,我不记得我从哪里得到这个功能。虽然,这是我第一次看那个网站。@Lucapete-我的错,我没有指责,只是注意到了相似之处(雅虎css吸引了我的眼球).一个简单的问题,你知道一个可以使用你自己的css的降价插件吗?@Idigas不知道。真的没问题。只是我不记得我从哪里得到的。顺便说一句,我没有经常搜索它,所以我不知道。也许有一个插件的空间……我刚刚偶然发现了你的插件,非常喜欢这个概念。有一些麻烦吗-你能看一眼并告诉我,它也可以在Windows上工作吗?这很酷,但不幸的是编辑器变得非常滞后,键盘按键被跳过。非常复杂的设置,对我来说OSX不起作用。我喜欢它自动打开,自动刷新(即使不保存),并在我关闭文件时自动关闭预览!请让我们知道这与
neovim
!@TechliveZheng很棒!我会检查出来这不是你想要的,但如果你不知道