Command-T がすばらしい

Command-T は FuzzyFinder のように適当にファイルを検索することができる vim プラグイン。ぼくは FuzzyFinder をほとんど使っていなかったから正確に比較することはできないけれど、Command-T のほうが使いやすいと感じた。

なぜかhttpsな本家ページ

https://wincent.com/products/command-t

使い方

Command-T を起動して、ファイルパスに含まれている文字を適当に入力すると、適当にマッチして絞り込んでくれる。 などで候補から選択して Enter を押せばそのファイルを開く。簡単。わかりやすい。使いやすい。

インストール方法

Command-T のインストール方法は vim.org本家ページ を参照してもらえばいいんだけど、一応ここにも記載しておく(2010/08/10時点での方法。バージョン0.8bが対象)。

  • command-t-0.8b.vba をダウンロードする
  • vim で command-t-0.8b.vba を開く
  • vim で :source %
  • (ターミナルに戻る)
  • cd ~/.vim/ruby/command-t
  • ruby extconf.rb
  • make

ここまでは本家ページとかに書いてあるとおり。次からはぼくが maclinux で環境を分ける必要があるために追加した操作。

~/.vim.local を作成し C extension を含む ruby ディレクトリをそのまま移動させた。runtimepath/ruby ディレクトリを探すようなので .vim.local を runtimepath に追加しておけば勝手に .vim.local から探して使ってくれるのでなんの問題もない。
というわけで最後に

  • .vimrc に以下を追加
set runtimepath+=~/.vim.local
let g:CommandTMaxHeight=15
nnoremap <silent> <Space>f  :<C-u>Command-T<Return>
.vimrcに書いた内容の説明

runtimepath に .vim.local を追加しているのは上で説明したとおりの理由。

g:CommandTMaxHeight は候補一覧ウィンドウの最大の高さで、デフォルトの状態だとカレントウィンドウいっぱいになっている。けどそれだと高すぎるので15に設定した。そもそも15でも候補の数としては十分に多いのに、それ以上出ていても探すのが面倒なだけで意味はないと判断した。あと、第1候補は最上部に表示されるので、もしもカレントウィンドウいっぱいに広がるといきなり視点をウィンドウの最上部へ移さなければならいのが嫌だったという理由もある。

最後の keymap は適当に好きなように設定すればいいと思う。ぼくは FuzzyFinder で f を prefix として操作していた影響で f に割り当てた。Command-T なのに keymap に t を割り当てない気持ち悪さは残るけど。

まとめ

Command-T は使いやすいし、C extension を使っているだけあってさすがに速い。異種環境で同じ設定を使い回しているときにちょっとした工夫が必要だけど、これだけ快適に使えるのならば何の文句もない。

Command-T すばらしいよ。