2010-11-28 17 views
15


मेरी .vimrc फ़ाइल में विशेष पथ, मैं दो बहुत ही उपयोगी पंक्तियाँ:विम: पर ध्यान न दें खोजें

set path=~/nbapp/** 
set backupdir=~/nbapp/temp 

पहली पंक्ति मेरे प्रोजेक्ट निर्देशिका और उप निर्देशिकाओं में खोज करने के लिए अनुमति देता है। दूसरी पंक्ति एक विशेष अस्थायी फ़ोल्डर में बैकअप फ़ाइलों को बना देती है, अंत में '~' को छोड़कर सटीक वही नाम रखने वाली बैकअप फ़ाइलों के दसियों को जोड़कर मुझे परेशान करने के बजाय। हालांकि, चूंकि अस्थायी फ़ाइलें अभी भी 'nbapp' फ़ोल्डर के अंदर हैं (और मैं उन्हें वहां रखना चाहता हूं क्योंकि वे प्रोजेक्ट से संबंधित हैं), इसका मतलब है कि जब मैं कोई खोज करता हूं तो उन्हें खोजा जा रहा है, जो कभी-कभी मुझे परेशान करता है , क्योंकि मैं खोज परिणामों को देख रहा हूं, फिर भी यह पता लगाने के लिए कि वे वास्तव में अस्थायी फ़ोल्डर में हैं।

क्या खोज से पथ को बाहर करने का कोई संभावित तरीका है (यानी vimgrep)? मैं 'temp' फ़ोल्डर को बाहर करना चाहता हूं। के रूप में यह आप vim उन्नयन है कि 'पथ' का मूल्य संशोधित कर सकता है के खिलाफ की रक्षा करता है

सादर,
Rafid

उत्तर

-1
set path-=~/nbapp/temp 

, पथ प्रविष्टियों को हटाने की पसंदीदा तरीका है।

+2

ऐसा लगता है कि काम नहीं कर रहा है! यह अभी भी मुझे बैकअप फाइलें दिखाता है। – Rafid

4

vimgrep के बजाय मैं ग्रेप आदेश का उपयोग

:help grep 

मैं उपयोग की स्थापना

set grepprg=grep\ -nIh\ --exclude=tags\ --exclude=cscope.out 

जब मैं फ़ाइलों को खोजना चाहते हैं लेकिन टैग फ़ाइलें और cscope फ़ाइलों को छोड़कर। आप ऊपर से संशोधित किसी भी फाइल को खोजने के लिए उपरोक्त संशोधित कर सकते हैं ~। मुझे नहीं लगता कि आप grep का उपयोग कर फ़ोल्डर को बाहर कर सकते हैं (या शायद आप कर सकते हैं, कोशिश करें - exclude = ~/nbapp/temp/* यह काम कर सकता है मैंने इसका परीक्षण नहीं किया है)।

यदि यह काम नहीं करता है तो मैं grep के बजाय grepprg के लिए एके का उपयोग करने की सिफारिश करता हूं। एक एक विकल्प के रूप में अनदेखा-डीआईआर = नाम जिसमें आप स्पष्ट रूप से किसी फ़ोल्डर को अनदेखा कर सकते हैं।

+0

grep के हाल के संस्करणों में '--ignore-dir' भी है, जो कि आप जो खोज रहे हैं वह हो सकता है। – Magnus

+1

क्विकफ़िक्स विंडो को तोड़ने के लिए बेहतर 'grepprg = grep \ -n \ --exclude = टैग \ --exclude = cscope.out \ $ * \/dev/null' –

17

'wildignore' विकल्प का उपयोग:

:set wildignore+=**/temp/**

या यदि आप अधिक विशिष्ट होना चाहते हैं:

:set wildignore+=~/nbapp/temp/**

यह nbapp/अस्थायी निर्देशिका में सभी फाइलों exlude चाहिए में: परिणाम खोजें।

+3

यह काम नहीं करेगा! – Rafid

+0

मैं फ़ोल्डरों को अनदेखा करने के लिए बिल्कुल खोज रहा था: खोज खोजें। धन्यवाद! –

+0

wildignore लगता है vimgrep –

0
उबंटू में

उदाहरण के लिए सिर्फ

sudo apt-get install ack-grep 

sudo ln -s /usr/bin/ack-grep /usr/bin/ack 

तो स्थापित http://www.vim.org/scripts/script.php?script_id=2572

है और अब अपने को अगली पंक्ति में जोड़ें।vimrc

noremap <C-f> :copen<CR>:Ack --ignore-dir #first_ignore_dir# --ignore-dir #second_ignore_dir# -ai 
  • सीटीआर + F द्वारा अपनी खुली खोज फ्रेम, मज़ा
1

:find और gf से कुछ dirs बाहर करने के लिए (उदाहरण के node_modules के लिए) आप सेट कर सकते हैं:

:set path=** 
:set wildignore+=*/node_modules/* 
संबंधित मुद्दे