やはり、雑魚Vimmerにとって fzf vimは、Windowsでの利用を余り考慮されてないような節を感じるので、 ctrlpvim/ctrlp.vim1に戻ることにした。
ただ、自分のWindows環境ではユーザーフォルダでCtrlP
するとそれなりに待つ。
[Vim Plugin]CtrlPの紹介と便利な使い方、設定 | 大专栏に為になる情報が載っていたので、これを参考に設定する。
Vim終了時にキャッシュファイルを削除しない
Set this to 0 to enable cross-session caching by not deleting the cache files
upon exiting Vim: >
let g:ctrlp_clear_cache_on_exit = 1
Enable/Disable per-session caching: >
let g:ctrlp_use_caching = 10 - Disable caching.
1 - Enable caching.
n - When bigger than 1, disable caching and use the number as the limit to enable caching again.
let g:ctrlp_clear_cache_on_exit = 0
let g:ctrlp_use_caching = 1
g:ctrlp_use_caching = 1
の n の制限数ってのが意味が分からない。
F5
でキャッシュ更新可能。これはCtrP
で有効なので、
nnoremap <F5> :<C-u>source $HOME/.config/nvim/init.vim<CR>
などしても被らない。
ファジー検索時の入力反映に、遅延時間を設定にする
Set this to 1 or bigger to enable the lazy-update feature: only update the
match window after typing’s been stopped for a certain amount of time: >
let g:ctrlp_lazy_update = 0If is 1, update after 250ms that value as default tuned. If bigger than 1, the
number will be used as the delay time in milliseconds.
つまり検索の際にms単位のウェイトを入れることができる。
let g:ctrlp_lazy_update = 200
そして、 CtrlP に出戻りしたにあるとおり mattn/ctrlp-matchfuzzyを導入すればファジーマッチが高速化される。
更に(というか大分前からだが)、追加プラグイン無しで
CtrlPBookmarkDirAdd
でディレクトリをブックマークすることが出来て、CtrlPBookmarkDir
で呼び出すことができる。CtrlPMixed
にも
なのだが、Ubuntu環境だと、何故か$HOME
でCtrlP
をすると固まる。その時、Ctrl+c
すればキャンセルできるとかあるのだが、キャンセルできない。Windowsでは起きず、しかも容量とか圧倒的にWindowsの方が大きいのに…dotfileのシンボリックリンクがおかしくしているのだろうか、でもリンクは無視されるはずだしなぁ。
と思ったら、
Note: does not apply when a command defined with |g:ctrlp_user_command| is being used.
と外部コマンドを使用している場合は適用されない、とあった。いや、だとしてもripgrep
はデフォルトでシンボリックリンクは無視するはずで、もし含める場合は-L
オプションが必要なはず。
兎に角、 How to prevent ctrlp from indexing $HOME · Issue #560 · kien/ctrlp.vim · GitHubにあったハック
let g:ctrlp_user_command = '[ $PWD == $HOME ] && echo "In HOME Directory" || rg %s --files --color=never --glob ""'
どおりに行うことで回避できた。
他にも注意点はあって
CtrlPDir is very slowにあるとおり、CtrlPDir
は外部コマンドを使っていないので、場所によってはもの凄く遅い。
相変らず
simplenote-vim/simplenote.vimで開いたものは、バッファ一覧に載らないとかあるけれど、元々、他のfuzzy searchプラグインも使いこなしていたわけでないので、とりあえずCtrlPMixed
を叩いておけばOKなこのプラグインをしばらくは使っていこうと思う。
-
しかし、今だに
ctrlp.vim
で検索するとkien/ctrlp.vim
が上位にヒットするのはどうにかならんのか。 ↩︎