Hack #230: Markdown形式の文書を書く2 (quickrun0.5.0対応版)
Posted at 2011/09/15ツイート
こんにちは、ujihisaです。11月くらいに来日する予定で、そのときに大規模なVimの勉強会などを開催したいと思っています。発表をしてみたい方は、気軽に @ujm などに英語で連絡ください(*1) 。
問題
VimでMarkdown形式の文書を書くための記事を2年ほど前に執筆し、こちらで公開していました。
ところで先月quickrun version 0.5.0 がリリースされました。その際大きな仕様変更がありました。それについては下記の記事に詳しく掲載されています。
先ほどのHack #52の記事に掲載されている情報のままでは、Markdown形式で執筆中のバッファの内容をHTMLに変換してブラウザで開くことができません。どのようにすればよいのでしょうか。
解決 (1/2)
quickrun 0.5.0はデフォルトで4種類のmarkdown変換機をサポートしています。
- Markdown.pl (Perl.
cpan install Markdown
かな?) - kramdown (Ruby.
gem install kramdown
) - bluecloth (Ruby.
gem install bluecloth
) - redcarpet (GitHubなどで使われている悪評高いMarkdownエンジン)
- pandoc (Haskell.
cabal install pandoc
)
もしも$PATH
に上記のコマンドがあれば、それを用いて変換します。優先順位はこの一覧と同じです。
したがって'filetype'
がmarkdown
であるようなバッファを編集中に:QuickRun
すると、上記コマンドのいずれかが呼ばれ、そして編集中バッファをhtmlに変換したものをquickrunウインドウに表示します。なので、この出力先をbufferではなくbrowserにすればそれで問題が解決されます。
~/.vimrc
に以下の設定を記述します。
let g:quickrun_config['markdown'] = {
\ 'outputter': 'browser'
\ }
ただし、もしもこれまでg:quickrun_config
を全く使った事がない自信があるならば、以下の行をその前に記述してください。
let g:quickrun_config = {}
続いてopen-browser.vimがインストール済みかどうか確認します。インストールしていなければ、すぐにいれましょう。
これで'filetype'
がmarkdown
なバッファから:QuickRun
(あるいはデフォルトのキーマッピングである\rの打鍵) で、新しいウインドウが分割されてHTMLが出力されるかわりに、ブラウザが立ち上がってそちらにHTMLがきれいに表示されるはずです。
解決 (2/2)
大抵の方は(1/2)の時点で大丈夫なのですが、しかしASCIIの範囲内に収まらない文書を書く一部の人は、pandoc
でMarkdownをHTMLに変換した後に、文字化けしたHTMLを見てしまったのではないでしょうか。
この場合はpandocの-sオプションを用います。
let g:quickrun_config['markdown'] = {
\ 'outputter': 'browser',
\ 'cmdopt': '-s'
\ }
おっとしかしpandoc以外でも-sを使われると困ります。間違ってredcarpet
などをインストールしてしまうと、なぜかそちらの方が高い優先度をもっているため、そちらを使われてしまうのです。ここはpandocを使用するよう強制してみましょう。
let g:quickrun_config['markdown'] = {
\ 'type': 'markdown/pandoc',
\ 'outputter': 'browser',
\ 'cmdopt': '-s'
\ }
実はこのあたりは詳しくはquickrun公式ヘルプに掲載されています。詳しくは:h quickrun-examples
をご覧ください。
補足
現在開発中のquickrun 0.5.1では新機能”hook”というものがつくそうです。いまから楽しみですね!
脚注
- *1 スペイン語も勉強中ですので、対応可能です。
もどる
blog comments powered by Disqus