CtrlP matcherをcpsmに変更する

Big Sky :: Vim の CtrlP matcher、cpsm がヤバイくらいに速すぎる を読んで、CtrlPのmatcherをcpsmに変更した。

インストールにはNeoBundleを使うけれど、インストール時にPythonモジュールのビルドが必要となるので、以下のように記述する。

.vimrc

NeoBundle 'nixprime/cpsm', {
  \ 'build': {
  \   'others': 'sh install.sh'
  \}}

let g:ctrlp_match_func = {'match': 'cpsm#CtrlPMatch'}

インストールでエラーが発生する場合には、ログの内容を確認する。

:NeoBundleLog

自分の環境では、このようなエラーが出力されていた。

...
CMake Error at /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/FindBoost.cmake:1182 (message):
  Unable to find the requested Boost libraries.

  Unable to find the Boost header files.  Please set BOOST_ROOT to the root
  directory containing Boost or BOOST_INCLUDEDIR to the directory containing
  Boost's headers.
Call Stack (most recent call first):
  CMakeLists.txt:17 (find_package)
...

公式の Requirements をみると、確かに色々と必要であることが記載されているので、インストールされていないものは事前に準備しておく必要があるのであった。自分の場合は、エラーの内容からBoostが未導入だったので、Homebrewで追加した。

$ brew install boost

変更してすこぶる快適になった気分で使っていたけれど、一度アンインストールしてみても意外と遅くならなくて、プラシーボ効果だった気がしないでもない。とはいえ、遅くなるわけではないし、候補の選ばれ方も多少違うようなので、しばらく試してみる。