web-dev-qa-db-ja.com

マークダウンファイルをプレビューするためのVimプラグインはありますか?

レンダリング結果をその場でプレビューできる優れた機能を備えた、マーク付きのMouエディターが大好きです。 Vimで同じことを行う方法はありますか?

66
mko

最近、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を取得して数秒ごとに自動リロードすることですが、ローカルファイルで機能する拡張機能を見つけることができないようです。


長所:

  • 実行中のサーバーや特別なコードを必要とせずに、ボタンを押してマークダウンファイルをプレビューする機能。
  • VimおよびChromeをサポートするすべてのプラットフォームで動作します-これはほとんどすべてのプラットフォームをカバーします。

短所:

  • 自動更新はありません。ファイルをプレビューするたびに<F5>を押す必要があります。
  • Github風味のマークダウンはありません。
42
Hubro

幸運です-リアルタイムのマークダウンプレビューを備えたvimプラグインを作成しました。 github Markdownとスタイルも使用します: https://github.com/suan/vim-instant-markdown

63
Suan

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>
13
Steve McKinney

実際に 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:リーダーをマップしました、

12
FUD

いいえ、構文の強調表示やスニペットなどのVimプラグインはいくつかありますが、Vimはテキストとテキストのみを表示します、したがって、Markdown(またはその他の種類)Vimでプレビュー.

リアルタイムのプレビューに興味があるなら、多分 MarkdownPad があなたのニーズに合っているでしょう。

5
Rook

@Codemonkeyの答えに加えて、OSXを使用している場合、.vimrcファイルで次を使用できます。

" Open markdown files with Chrome.
autocmd BufEnter *.md exe 'noremap <F5> :!open -a "Google Chrome.app" %:p<CR>'
5
Jeff

Chrome-を必要としないRubyまたは派手なものはなく、vimバッファーに書き込むとプレビューが更新されます) (ホットキーでも有効化できます)

また、プレビューはバックグラウンドで行われるため、vimを離れる必要はありません。

https://github.com/JamshedVesuna/vim-markdown-preview

3
user3200729

私は私の.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>

完全ではなく、リアルタイムでもありませんが、私の限られたニーズには十分です。

1
lucapette

すぐに使える素晴らしいプラグインを見つけました https://github.com/waylan/vim-markdown-extra-preview

1
katzmopolitan

Vimでプレビューのマークダウンを行うことはお勧めできません。ただし、%!markdownと入力するだけで、HTMLでマークダウンを変換できます。おそらく、マークダウンがインストールされているはずです。次に、そのファイルを保存して、ブラウザーで開きます。

0
Alan Dong