Vim Advent Calendar 2013 : Vim で Haml を書くときに quickrun.vim を利用したらちょー捗った話
この記事は Vim Advent Calendar 2013 69日目の記事になります。
最近、Vim で haml を書く機会があったのですが、quickrun.vim を利用したら haml を書くのがちょー便利になったのでまとめておきます。
[HTML を Haml に変換する]
Haml を書いている時に HTML のコードから Haml のコードに変換したいと思うことがあると思います。
そんなときは HTML2Haml を利用するとよいでしょう。
gem でインストールすれば使用できるようになります。
$ gem install html2haml
また、次のようにして quickrun.vim を利用すれば、バッファの HTML や選択した範囲の HTML を Haml のコードに変換して出力することができます。
" HTML のデフォルトの :QuickRun を html2haml に設定 let g:quickrun_config = { \ 'html' : { \ "type" : "html/haml" \ }, \ 'html/haml' : { \ "command" : "html2haml" \ }, \}
[選択した HTML のコードを Haml に置き換える]
上記の場合は Haml に変換した結果をバッファへと出力していますが、そうではなくて選択した範囲を直接 Haml のコードへと置き換えたいですね。
そういう場合は quickrun-outputter-replace_region を使用すれば実現する事ができます。
let g:quickrun_config = { \ 'html' : { \ "type" : "html/haml" \ }, \ 'html/haml' : { \ "command" : "html2haml" \ }, \ 'html/haml_repace' : { \ "outputter" : "error", \ "outputter/success" : "replace_region", \ "outputter/error" : "message", \ "outputter/message/log" : 1, \ "runner" : "system", \ "type" : "html/haml" \ }, \} " 選択した範囲を Haml に置き換えるためのマッピング vnoremap <leader><leader>rh :QuickRun html/haml_repace<CR>
これで選択した範囲を Haml に変換することが出来ました。
quickrun-outputter-replace_region については上記の記事を参照して下さい。
Haml を書いていると『HTML のサンプルコードを Haml に書きなおす必要が…』と思うことが多いのでこれでだいぶ効率よくコーディングすることができそうです。