2014-02-26
■[vim]Vim Advent Calendar 88日目: 誤った goto 文で到達しないコード箇所を直ちに検知する方法
この記事は Vim Advent Calendar 2013 88日目の記事になります。
- 元ネタ
それ、Vim で。
と、いう事でやってみました。
[必要なプラグイン]
- Shougo/vimproc.vim
- コマンドを非同期で実行する
- osyo-manga/vim-watchdogs
- シンタックスチェックを行う
- jceb/vim-hier
- エラー箇所を波線でハイライトする
- dannyob/quickfixstatus
- カーソル位置のエラー内容をコマンドラインに出力する
- thinca/vim-quickrun
- watchdogs.vim のバックエンド
- osyo-manga/shabadou.vim
- quickrun.vim の hook 拡張
NeoBundle "Shougo/vimproc.vim" NeoBundle "thinca/vim-quickrun" NeoBundle "osyo-manga/vim-watchdogs" NeoBundle "osyo-manga/shabadou.vim" NeoBundle "jceb/vim-hier" NeoBundle "dannyob/quickfixstatus"
[設定]
" quickrun.vim の設定 " * vimproc で非同期でコマンドを実行する " * シンタックスチェック時に quickfix ウィンドウを開かないようにする " * シンタックスチェッカーを clang++ に設定 " * シンタックスチェッカー clang++ にオプションを追加 let g:quickrun_config = { \ "_" : { \ "runner/vimproc/updatetime" : 500, \ "runner/vimproc/sleep" : 10, \ }, \ "watchdogs_checker/_" : { \ "outputter/quickfix/open_cmd" : "", \ }, \ "cpp/watchdogs_checker" : { \ "type" : "watchdogs_checker/clang++", \ }, \ "watchdogs_checker/clang++" : { \ "cmdopt" : "-Wall -Wunreachable-code", \ }, \} " ファイルの書き込み時にシンタックスチェックを行う let g:watchdogs_check_BufWritePost_enable = 1
件の問題を検知する場合、コマンドオプションに -Wunreachable-code を追加すればよいみたいなので watchdogs.vim に設定を追加しています。
Vim にもオーバーレイを行う機能がほしいのぉ。
[参照]
- 19 http://pipes.yahoo.com/pipes/pipe.info?_id=e4c70514b5136c08ae93591f390be2e2
- 16 http://atnd.org/events/45072
- 12 https://www.google.co.jp/
- 9 http://t.co/gi5NCAiR4e
- 8 http://b.hatena.ne.jp/
- 7 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CCcQFjAA&url=http://d.hatena.ne.jp/osyo-manga/20101003/1286081978&ei=wBQOU5yLD4uPkgXW64DoCA&usg=AFQjCNEGaSNJSeNIB6EWyLIF5ALlAl6IWA&sig2=z77SwR_tYCmBEGHcEO08rg&bvm=bv.6196592
- 6 http://pipes.yahoo.com/pipes/pipe.info?_id=04913f684f1141e0b48179f97811ce12
- 6 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&ved=0CDsQFjAC&url=http://d.hatena.ne.jp/osyo-manga/20131016/1381934670&ei=qxsOU4D0HMjDkgX46oGAAw&usg=AFQjCNHH1q0xM3VT8JrnkhQGNp1y1m0o7A&bvm=bv.61965928,d.dGI
- 5 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&ved=0CC4QFjAB&url=http://d.hatena.ne.jp/osyo-manga/20130917/1379420224&ei=NgoOU56gJYickQXLiYHIAQ&usg=AFQjCNGOXra6YMhT7-xIh0oZNJaQQBYgCQ&sig2=W3AF4ipgDXf0pamPvfpV7Q&bvm=bv.6196592
- 4 http://d.hatena.ne.jp/
- 2014-02-23 iPad試行錯誤 3/22 13%