Özel listeleme komutu kullanma
Ctrlp, klasördeki dosyaların bir listesini almak için hangi komutu kullanacağınızı söylemenizi sağlar. Dolayısıyla beets.txt, adlandırılmış herhangi bir şeyi hariç tutmak istiyorsanız şunları yapabilirsiniz:
let g:ctrlp_user_command = 'find %s -type f | grep -v "beets.txt"'
Bu küreseldir, ancak cevaba işaret etmeye başlar: kendi kabuk komutunuzu verin.
Daha da iyisi, Ctrlp işaretçileri olan birden fazla kabuk komutu sağlamanıza izin verir, yani "bu işaretçiyi kök dizinde görürseniz, bu komutu kullanın."
Bunu buldum :help ctrlpve yazarın bir konu hakkındaki yorumuna dayanarak biraz değiştirdim.
let g:ctrlp_user_command = {
\ 'types': {
\ 1: ['.git', 'cd %s && git ls-files --cached --exclude-standard --others'],
\ 2: ['.hg', 'hg --cwd %s locate -I .'],
\ },
\ 'fallback': 'find %s -type f'
\ }
Bu şu anlama gelir: " .gitKlasörde görürseniz kullanın git ls-files.... Aksi takdirde, görürseniz .hgkullanın hg --cwd..., aksi takdirde normal kullanın find."
Bu nedenle, bir projedeki belirli bir klasörü yoksaymak için, o klasörü yok sayacak bir komut tasarlayın ve ardından özel komutunuzu burada kullanmak istediğiniz Ctrlp'ye izin vermek için o projeye benzersiz bir işaretleyici yerleştirin .
(Benim durumumda, aslında içinde bulunan dosyaları yoksaymak istedim .gitignore, bu yüzden git ls-filesyukarıdaki komut benim için çalışıyor.)