ドキュメントを読みましたが、これが可能かどうかわかりません。
デフォルト設定のg:ctrlp_working_path_mode = 2
を維持したいのですが、必要に応じて、現在のウィンドウのすべてのバッファーに対して手動でオーバーライドする機能が必要です。
具体的には、ctrlpコマンドを発行するか、ルート検索ディレクトリを設定するctrlp構成変数を変更します。これにより、現在のバッファーに関係なく、今後のすべての検索でそのディレクトリが使用されます。
ボーナス質問:2つのルートディレクトリを設定して、両方を検索し、結果を結合することはできますか?
ありがとう!
これを試して:
g:ctrlp_working_path_mode = 'ra'
'c'-現在のファイルのディレクトリ。
'r'-これらのディレクトリまたはファイルの1つを含む最も近い祖先:.git .hg .svn .bzr
'a'-cと同様ですが、CtrlPの外部にある現在の作業ディレクトリが、現在のファイルのディレクトリの直接の祖先ではない場合に限ります。
0または ''(空の文字列)-この機能を無効にします。
ソース: https://github.com/kien/ctrlp.vim
また、ここで: https://github.com/kien/ctrlp.vim/issues/292 、作者はフルパスを設定する1つの方法を提供しました:
:CtrlP /var/www/myproject/bla/bla/theme
私が使う:
let g:ctrlp_cmd='CtrlP :pwd'
これにより、ctrlpコマンドが:ctrlp:pwdに再マップされます。
あなたはあなたのvimrcで以下を使うことができます
noremap <C-a> :CtrlP /yourdir/<CR>
ctrl+a
を押すたびに、ctrlpは/ yourdir /をルートディレクトリとして使用します
Ctrlpは、現在の作業ディレクトリの検索をトリガーします。したがって、デフォルトのg:ctrlp_working_path_mode = 2を設定できますが、pwdを変更することで、現在のウィンドウを簡単にオーバーライドできます。例
(デフォルト)
:pwd tmp/vim/usr
そして、あなたはそれをtmpに変更したいだけです
:cd ../../
そして今ctrlpを実行します