cafegale(LeafCage備忘録)

LeafCage備忘録(はてなダイアリー)と統一しました。

QuickFix を使いやすくするプラグイン作りました

unite.vim や ctrlp.vim なんてなくても Vim には標準で、ある処理の結果を一覧してくれる機能があります。
それが QuickFixコマンド と QucikFixウィンドウ (& ロケーションリストウィンドウ) です。

しかし QuickFix の操作方法はわかりにくく使いづらい。*1
それを改善するのが次のプラグインです。

anyakichi さんの vim-qfutil の、モードをトグルすることで、同じキーマッピングでQuickFix ウィンドウとロケーションリストウィンドウを操作するアプローチの影響を受けています。

機能

  • QuickFix ウィンドウの表示非表示をトグル
  • QuickFix のエラー と ロケーションリスト のエラー を同じキーマッピングで操作
  • QuickFix のエラーが発生するコマンドを呼ぶと自動で QuickFixウィンドウ (ロケーションリストウィンドウ) を開く
  • QuickFix ウィンドウ内で、カーソル行のエラーをプレビュー / 次のエラーをプレビュー / 前のエラーをプレビュー / ウィンドウを閉じる というローカルキーマッピングを提供

設定例

nmap cz <Plug>(qutefinger-toggle-mode)
nmap cn <Plug>(qutefinger-next)
nmap cp <Plug>(qutefinger-prev)
nmap cP <Plug>(qutefinger-older)
nmap cN <Plug>(qutefinger-newer)
nmap cv <Plug>(qutefinger-toggle-win)

*1:標準で用意されている 次のエラー、前のエラーへの移動方法が、コマンドラインから :cn :cp と入力することなのですが、こんな冗長なことをやっている人はいないでしょう。