कस्टम लिस्टिंग कमांड का उपयोग करें
Ctrlp आपको यह बताता है कि फ़ोल्डर में फ़ाइलों की सूची प्राप्त करने के लिए किस कमांड का उपयोग करना है। इसलिए यदि आप नामित किसी भी चीज़ को बाहर करना चाहते हैं beets.txt, तो आप कर सकते हैं:
let g:ctrlp_user_command = 'find %s -type f | grep -v "beets.txt"'
यह वैश्विक है, लेकिन यह उत्तर की ओर इंगित करना शुरू कर देता है: अपने स्वयं के शेल कमांड की आपूर्ति करें।
इससे भी बेहतर, Ctrlp आपको मार्करों के साथ कई शेल कमांड की आपूर्ति करने देता है, जिसका अर्थ है "यदि आप रूट निर्देशिका में इस मार्कर को देखते हैं, तो इस कमांड का उपयोग करें।"
मैंने इसे पाया :help ctrlpऔर एक मुद्दे पर लेखक की टिप्पणी के आधार पर थोड़ा संशोधित किया।
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'
\ }
इसका मतलब है: "यदि आप .gitफ़ोल्डर में देखते हैं git ls-files..., तो उपयोग करें । अन्यथा, यदि आप देखते हैं .hg, तो उपयोग करें hg --cwd..., अन्यथा नियमित रूप से उपयोग करें find।"
इसलिए, किसी प्रोजेक्ट में किसी विशिष्ट फ़ोल्डर को अनदेखा करने के लिए, उस फ़ोल्डर को अनदेखा करने वाली कमांड को वसीयत करें, फिर उस प्रोजेक्ट में एक विशिष्ट मार्कर रखें जिससे आप अपने विशेष कमांड का उपयोग यहां करना चाहते हैं ।
(मेरे मामले में, मैं वास्तव में उन फ़ाइलों को अनदेखा करना चाहता था जो अंदर थीं .gitignore, इसलिए git ls-filesऊपर की कमान मेरे लिए काम करती है।)