vim

2013-11-01 8 views
10

में गैर-लालची मल्टीलाइन खोज मैं रूबी फ़ाइल खोजने और सभी विधियों को खोजने की कोशिश कर रहा हूं (बाद में उन्हें ऑटोरेप्लेस करने से पहले)। "{-}", यह पूरी फ़ाइल की सामग्री का चयन करता हैvim

/\vdef.*(\n.*){-}end 

हालांकि भले ही मैं का उपयोग करें: vim में, मैं regexp निम्नलिखित का उपयोग करें।

+1

मैं डॉन ' समझ में नहीं आता कि आप क्या मिलान करना चाहते हैं। अगर किसी फ़ंक्शन के अंदर 'if ... end' स्थिति है तो कैसा है? – Birei

+1

हाँ मैं तदनुसार regexp को संशोधित कर दूंगा (जैसे किसी अन्य डीफ़ के लिए पॉजिटिव लुकहेड जोड़ें या उस तरह की smth)। मुझे अभी क्या चाहिए इसकी तलाश करने का तरीका गैर-लालची –

उत्तर

11

\_. का उपयोग . पर न्यूलाइन वर्ण को शामिल करने के लिए करता है।

/\vdef\_.{-}end 
+2

मेरे मामले में, '' '/ \ vdef \ _। \ {-} end''' ने काम किया है। – raratiru

5

रेगेक्स का पालन करने का प्रयास करें।

/\vdef(\n|.){-}end 

.* अपने मामले

+0

आप 'def' के बाद'। * 'को छोड़ सकते हैं। '\ vdef (\ n |।) {-} अंत 'भी काम करेगा। – iruvar

+0

@ 1_CR इसे इंगित करने के लिए धन्यवाद। मेरा उत्तर अपडेट किया गया। – jkshah

5

में अपराधी था विम के अपने संस्करण में, आप { से बचने के लिए और साथ ही \_. का उपयोग कर की जरूरत है, के रूप में अन्य उत्तर ने कहा है:

/def\_.\{-}end 
संबंधित मुद्दे