CtrlP と Denite の使い分け #Vim

* [ctrlpvim/ctrlp.vim: Active fork of kien/ctrlp.vim—Fuzzy file, buffer, mru, tag, etc finder.](https://github.com/ctrlpvim/ctrlp.vim/)
* [Shougo/denite.nvim: Dark powered asynchronous unite all interfaces for Neovim/Vim8](https://github.com/Shougo/denite.nvim/)

私の環境（Windows）では Denite の起動時間が比較的長い（1秒以下だけど）ため、候補が少ない場合は CtrlP, 候補が多い場合は Denite を使っている。
そのほか、使いたいコマンドがある場合、Denite の fuzzy matcher （スペース区切りで複数のマッチングができる）を使いたい場合、プレビューを使いたい場合にも Denite を使っている。

| やりたいこと                               | プラグイン                                                                 | マッピング   | コマンド                                       | 補足                                                                                                                           |
| ------------------------------------------ | -------------------------------------------------------------------------- | ------------ | ---------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
| バッファの選択                             | [ctrlpvim/ctrlp.vim](https://github.com/ctrlpvim/ctrlp.vim/)               | `<Leader>b`  | CtrlPBuffer                                    | -                                                                                                                              |
| MRUから開く                                | [ctrlpvim/ctrlp.vim](https://github.com/ctrlpvim/ctrlp.vim/)               | `<Leader>u`  | CtrlPMRUFiles                                  | -                                                                                                                              |
| セッションの保存、選択                     | [pielgrzym/ctrlp-sessionss](https://github.com/pielgrzym/ctrlp-sessions)   | `<Leader>fs` | CtrlPSessions                                  | Windows で動かなかったので自分用に少し手を加えている [hokorobi/ctrlp-sessionss](https://github.com/hokorobi/ctrlp-sessions/)   |
| メニューからコマンド選択                   | [mattn/ctrlp-launcher](https://github.com/mattn/ctrlp-launcher)            | `<Leader>fm` | CtrlPLauncher                                  | よく参照するファイル、Gist、コマンドなどを登録している。                                                                       |
| ヘルプの検索                               | [zeero/vim-ctrlp-help](https://github.com/zeero/vim-ctrlp-help)            | `<Leader>fh` | CtrlPHelp                                      | -                                                                                                                              |
| タグジャンプ                               | [ivalkeen/vim-ctrlp-tjump](https://github.com/ivalkeen/vim-ctrlp-tjump)    | `<c-]>`      | CtrlPtjump                                     | -                                                                                                                              |
| Everything を使ってファイル選択            | [ompugao/ctrlp-locate](https://github.com/ompugao/ctrlp-locate)            | `<Leader>e`  | CtrlPLocate                                    | Everything のコマンドライン版 es を呼び出している。                                                                            |
| function を選択                            | [tacahiroy/ctrlp-funky](https://github.com/tacahiroy/ctrlp-funky)          | `<Leader>fu` | CtrlPFunky                                     | -                                                                                                                              |
| バッファのディレクトリ配下からファイル選択 | [Shougo/denite.nvim](https://github.com/Shougo/denite.nvim/)               | `<Leader>ff` | DeniteBufferDir -cursor-wrap file_rec          | -                                                                                                                              |
| バッファ内から選択                         | [Shougo/denite.nvim](https://github.com/Shougo/denite.nvim/)               | `<Leader>/`  | Denite -cursor-wrap line                       | -                                                                                                                              |
| Vim プラグインのファイルから選択           | [Shougo/denite.nvim](https://github.com/Shougo/denite.nvim/)               | `<Leader>fr` | Denite -cursor-wrap file_rec:~/_vim/dein/repos | -                                                                                                                              |

## ctrlp-launcher の例

```vim
_vimrc.local	exe('edit '.g:vimrc_local)
plugins.tml	edit ~/vimfiles/rc/plugins.tml
Gist	Gista list
hoge - Gist	exe('Gista open '.g:gist_hoge_id.' filename.md')
MRU	CtrlPMRUFiles
edit ft snippets	exe('edit ' . expand('~/vimfiles/snippets/' . &filetype . '.snippets'))
```