レンダリング結果をその場でプレビューできる優れた機能を備えた、マーク付きのMouエディターが大好きです。 Vimで同じことを行う方法はありますか?
最近、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>
を押す必要があります。幸運です-リアルタイムのマークダウンプレビューを備えたvimプラグインを作成しました。 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 を使用して、選択したドキュメント形式にコンパイルし、外部のデフォルトコマンドを使用して表示できます。たとえば、私はそれを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:リーダーをマップしました、
いいえ、構文の強調表示やスニペットなどのVimプラグインはいくつかありますが、Vimはテキストとテキストのみを表示します、したがって、Markdown(またはその他の種類)Vimでプレビュー.
リアルタイムのプレビューに興味があるなら、多分 MarkdownPad があなたのニーズに合っているでしょう。
@Codemonkeyの答えに加えて、OSXを使用している場合、.vimrcファイルで次を使用できます。
" Open markdown files with Chrome.
autocmd BufEnter *.md exe 'noremap <F5> :!open -a "Google Chrome.app" %:p<CR>'
Chrome-を必要としない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でプレビューのマークダウンを行うことはお勧めできません。ただし、%!markdown
と入力するだけで、HTMLでマークダウンを変換できます。おそらく、マークダウンがインストールされているはずです。次に、そのファイルを保存して、ブラウザーで開きます。