VimをMarkdownエディタにするmdforvimプラグインを公開しました
2015-03-03
2015-10-11
こんにちは。今回のテーマは『VimをMarkdownエディタにするmdforvimプラグインを公開しました』です。隙間時間で作っていたプラグインmdforvimが何とか動くようになったので公開しました。 【関連記事】 これで使える!Vimのコマンド集(基本操作編) [adsense02] 【目次】 VimをMarkdownエディタにするプラグイン:mdforvim mdforvimの特徴 mdforvimの使い方 作成経緯 今後の課題 お世話になったサイト・プロジェクト
VimをMarkdownエディタにするプラグイン:mdforvim
mdforvimはvim用のプラグインです。下の画像のようにVim中でMarkdwon文書を変換したりプレビューすることができます。もちろんHTMLファイルを出力することも可能です。 Demo 1:リアルタイムプレビュー Demo 2:編集画面のHtmlへの変換
mdforvimの特徴
mdforvimはvimscriptで書かれたMarkdwonコンバーターを搭載しており外部ツールに依存することなくVim単体でMarkdwonからHTMLへ変換が可能です。(動作はLinuxで確認済み、Windowsでは未確認です。)
できること
mdforvimでは以下のことができます。筆者がMarkdownエディタに必須と思う機能は盛り込んだつもりです。
- その場で書いているMarkdownをHTMLに変換して確認できる
- リアルタイムプレビューができる
- Markdownファイルを上書きすることなくHTMLファイルを出力できる
依存関係など
mdforvimは外部プログラムに依存しません。プレビューを行う際はWebブラウザを必要とします。また、定期的に読み込むためjavascriptを許可してください。
他のツールとの違い
大してリサーチせずに作っているので車輪の再発明をしている可能性は多大にあるのですが、mdforvimはvimscriptで書かれたMarkdownコンバーターを持つことが特徴です。よって、本家のperlや他の外部プログラムを呼び出して変換する仕組みとは大きく異なります。また、Markdownのプレビュー機能のみを備えたプラグインとも異なります。
mdforvimの使い方
基本的にはGithubのREADMEの内容と同じです。
インストール
VundleやNeoBundle等のプラグインマネージャーを使うことをおすすめします。 NeoBundleを使っている方は以下のフレーズを.vimrc(または_vimrc)に追記して下さい。
NeoBudleFetch ‘kurocode25/mdforvim’
あとは以下コマンドでインストールできます。
:NeoBundleInstall
手動でインストールする場合はgithubよりクローンして~/.vim/内にmdpreview,autoload,pluginディレクトリを配置して下さい。
カレントバッファのHTML変換
以下コマンドを実行してください。
:MdConvert
リアルタイムプレビュー
以下コマンドでプレビューを開始してください。
:MdPreview
プレビューを止める時には以下コマンドで止めます。
:MdStopPreview
HTMLファイルの出力
編集中のMarkdownファイルをHTMLファイルに変換して保存できます。以下コマンドを実行してください。
:MdSaveAs <ファイル名.html>
作成経緯
最初はプラグインを公開するつもりなど無く、完全に自分用にvimscriptでMarkdownコンバータを書いていました。たまたまprevimの存在を知り、自分の自作Markdownコンバーターにプレビュー機能を付けてみたのがmdforvimを作成したきっかけです。
今後の課題
以下の課題に今後取り組む予定です。
- 安定したMarkdownコンバーターとして不十分な点が多い
- Markdown方言への対応
1番目については筆者が個人的に使わないMarkdownが省略されてしまっています。例えば参照型のURLリンクについては未対応です。よって以下のように書かれた場合はHTMLに変化しません。今後対応予定です。
I get 10 times more traffic from [Google] [1] than from [Yahoo] [2] or [MSN] [3].
[1]: http://google.com/ “Google” [2]: http://search.yahoo.com/ “Yahoo Search” [3]: http://search.msn.com/ “MSN Search”
2番目は少々お時間をいただくと思います。Markdownの方言はいろいろあるので、まずは表についてQiita記法に準じていこうと考えています。
お世話になったサイト・プロジェクト
1.previmの作者であるkanno_kanno氏のブログぼっち勉強会 vim用pluginを書くに当たり色々と参考にさせていただきました。 2.vital.vim ブラウザを開く箇所にてvital.vimを部分的に使っております。NYSLライセンスで素晴らしいプログラムを公開してくださった方々に感謝申し上げます。 [adsense]