जब कमांड लाइन पर ag
का उपयोग कर, इसलिए जैसे:विम Ctrlp एजी (चांदी खोज) --ignore विकल्प को पार्स नहीं सही ढंग से
$> ag . --ignore="*node_modules/*/node_modules" -l --nocolor -f -U -g ""
मैं एक से अधिक किसी भी node_modules निर्देशिका के माध्यम से खोज से बचने के लिए कर रहा हूँ मेरे नोड सेवाओं में गहरा स्तर, जो वांछित व्यवहार है।
हालांकि, जब मैं अपने vimrc में निम्न का उपयोग कर, node_modules निर्देशिका एक से अधिक स्तर गहरी उपेक्षा नहीं कर रहे हैं:
" Use The Silver Searcher https://github.com/ggreer/the_silver_searcher
if executable('ag')
" Use Ag over Grep
set grepprg=ag\ --nogroup\ --nocolor
" Use ag in CtrlP for listing files. Lightning fast and respects .gitignore
let g:ctrlp_user_command = 'ag %s --ignore="*node_modules/*/node_modules" -l --nocolor -f -U -g ""'
endif
मैं कैसे ag
और ctrlp
की स्थापना की सही ढंग से उन निर्देशिकाओं की अनदेखी करने के कर सकते हैं? यह सुनिश्चित नहीं है कि मुझे vimrc पर प्रत्यारोपण करते समय एक अलग वाक्यविन्यास (जैसे regex) या कुछ अन्य गॉचा का उपयोग करने की आवश्यकता है।
कारण मैं इस wildignore में नहीं डाल रहा है कि node_modules मेरी .gitignore में अनदेखी कर रहे हैं, इसलिए मैं -U
विकल्प का उपयोग कर रहा हूँ किसी भी VCS फ़ाइलों की अनदेखी करने (जिससे node_modules खोज करने के लिए ag
अनुमति) है - लेकिन इस विकल्प भी wildignore बाईपास लगता है।
ओह:
सुनिश्चित नहीं हैं कि Ctrlp साथ आपकी समस्या का समाधान होगा, किसी भी मामले में यह काफी तेजी से पहले से ही मेरे लिए है तो मैं सामान्य इस तरह चर उपेक्षा का उपयोग करें! स्तरित abstractions की खुशी! – romainl
यह पहली बार मुझे एक प्रश्न के अंदर एक जवाब मिला है;) मैंने '.ignignore' के कारण' --ignore' भाग हटा दिया। मैंने '-U' हटा दिया ताकि एजी अभी भी '.gitignore' का उपयोग करे। और मैंने देखा कि एजी डिफ़ॉल्ट रूप से छिपी हुई फाइलों को अनदेखा करता है। – Rohmer
मैंने यहां इस पृष्ठ का संदर्भ दिया है: https://github.com/kien/ctrlp.vim/issues/174 – Rohmer