ファイルが見つからない場合、CTRL-Pが非常に遅い


7

ファイル名のスペルを間違えることがあります。それで、ファイルが呼び出されてThisIsAFileName入力を開始したとしますThisS...。ファイル名のスペルを間違えた(ヒットがまったくない)と、CTRL-Pは非常に遅くなります。次の各文字を5秒ごとに約1文字の速度で表示します。誤って6文字余分に入力した場合、CTRL-Pでこれらの文字の表示が完了するのを30分待ってから、元に戻すことができます。

これは定期的に発生することですか?これを修正する方法はありますか?


私は同じ問題に直面しています...
Ejaz 2017

私はまだ同じ状況で立ち往生しています。私がしようと私の現在の「修正」でミススペルにはない、より良い修正がそこにありますならば、私はすべての耳です。
user32421 2017

2
私が見つかりました。この記事ダグによっては非常に便利。それは持っているセクション CTRLP上を。記事からの引用>ただし、一致するファイルを見つけるために外部コマンドを実行するようにCtrlPに指示できます。これでagがインストールされたので、これをCtrlPと一緒に使用して、> CtrlPを高速で動作させます。私自身はagを使ったことがありませんが、試す価値のあるもののようです。
RIQ

Ctrl Pは古いので、試してみましょうfzf。パフォーマンスが大幅に向上しています。
Finn

私はそれをWindowsのagと一緒に使用しています(これはLinuxのファイルの検出と一覧表示よりもかなり遅いです)で良好な結果が得られます。これは即時ではありませんが、シームレスにファイルを見つけるには十分です。
Spidey

回答:


1

キャッシュがまだ有効になっていない場合は、有効にすることができます。

let g:ctrlp_use_caching = 1

これはラグを大幅に減らし、ディレクトリ内に多くの変更がない場合、つまり新しいファイルや削除されたファイルが多くない場合に最適です。しかし、ファイルが追加または削除または名前変更されると、ファイルのインデックスが古くなり、それがリフレッシュする必要があります(つまり、再インデックス化)を押してctrl+p、その後、F5(あるいは、入力:CtrlPClearCacheコマンドモードで)。

私はより高速なファイル検索外部アプリを使用することを好み、キャッシュをまったく扱う必要がありません。Ag(The Silver Searcher)またはripgrepをお勧めします。これらは、ctrl-pの組み込み検索エンジンよりも大幅に高速で、エンジンの切り替えは非常に簡単です。

AgまたはRipgrepを最初にインストールする必要があります。そしてで.vimrc、以下を追加します。

ripgrepを使用する場合:

if executable('rg')
    let g:ctrlp_user_command = 'rg %s --files --color=never --glob ""'
    let g:ctrlp_use_caching = 0
endif

agを使用する場合:

if executable('ag')
  let g:ctrlp_user_command = 'ag -l --nocolor -g "" %s'
  let g:ctrlp_use_caching = 0
endif
  • WindowsではAgの方が遅いようで、AgではなくRipgrepをお勧めします。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.