web-dev-qa-db-ja.com

Vim CtrlPプラグイン:ルート検索ディレクトリを手動で設定しますか?

ドキュメントを読みましたが、これが可能かどうかわかりません。

デフォルト設定のg:ctrlp_working_path_mode = 2を維持したいのですが、必要に応じて、現在のウィンドウのすべてのバッファーに対して手動でオーバーライドする機能が必要です。

具体的には、ctrlpコマンドを発行するか、ルート検索ディレクトリを設定するctrlp構成変数を変更します。これにより、現在のバッファーに関係なく、今後のすべての検索でそのディレクトリが使用されます。

ボーナス質問:2つのルートディレクトリを設定して、両方を検索し、結果を結合することはできますか?

ありがとう!

23
Jonah

これを試して:

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
17
Chandresh Pant

私が使う:

let g:ctrlp_cmd='CtrlP :pwd'

これにより、ctrlpコマンドが:ctrlp:pwdに再マップされます。

11
Steven Koch

あなたはあなたのvimrcで以下を使うことができます

noremap <C-a> :CtrlP /yourdir/<CR>

ctrl+aを押すたびに、ctrlpは/ yourdir /をルートディレクトリとして使用します

8
Ram

Ctrlpは、現在の作業ディレクトリの検索をトリガーします。したがって、デフォルトのg:ctrlp_working_path_mode = 2を設定できますが、pwdを変更することで、現在のウィンドウを簡単にオーバーライドできます。例

(デフォルト)

:pwd tmp/vim/usr

そして、あなたはそれをtmpに変更したいだけです

:cd ../../

そして今ctrlpを実行します

4
linusx