Ö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 ctrlp
ve 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: " .git
Klasörde görürseniz kullanın git ls-files...
. Aksi takdirde, görürseniz .hg
kullanı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-files
yukarıdaki komut benim için çalışıyor.)