2012-02-19 13 views
11

विज़ुअल मोड में स्वचालित रूप से रेगेक्स मैच का चयन करने का तरीका नहीं पता लगा सकता है।विम - एक रेगेक्स मैच को दृष्टि से चुनने के लिए आदेश?

उदाहरण के लिए, मैन्युअल रूप से, मैं एक शब्द

/word 

यह मैच "शब्द" का पहला वर्ण पर कर्सर भूमि के लिए खोज कर सकते हैं।
फिर मैं दृश्य मोड दर्ज करने के लिए v दबाएं, और पूरे "शब्द" का चयन करने के लिए llll दबाएं।

अब मैं इसे मैक्रो द्वारा करना चाहता हूं, और मुझे समय से पहले मैच की लंबाई नहीं पता है।

मुझे उम्मीद थी कि विम स्वचालित मिलान की शुरुआत और अंत में कुछ अंतर्निर्मित अंकों को स्वचालित रूप से परिभाषित करेगा, ताकि मैं उन्हें 'कर सकूं। लेकिन मुझे उस पर कोई जानकारी नहीं मिली।

मैं चाहता हूं कि मुझे अगले मैच में ले जाने के लिए Ctrl+n मैक्रो में पुन: असाइन करना है और इसे दृश्य मोड में चुनना है, यानी मैच को हाइलाइट न करें। (समानांतर करने के लिए कैसे n अगले मैच के लिए ले जाता है।)

तुम क्यों सोच रहे हैं, इसकी वजह से मैं regex मैचों (जैसे Ctrl+n, zf) के आधार पर परतों का निर्माण करना चाहते हैं, लेकिन मुझे यकीन है कि यह आ जाएगा हूँ अन्य मामलों में भी कामयाब है।

उत्तर

6
:noremap <C-n> //s<CR>v//e+1<CR> 

संपादित सारांश: // ई था, लेकिन // ई + 1 मेरे लिए काम किया (भी मैच के अंतिम चरित्र चयनित)। gn (और उसके पास भाई gN) अगले (क्रमशः, पिछले) मैच के लिए कूद और नेत्रहीन उसका चयन होगा:

+0

यही वही है जो मुझे चाहिए (परीक्षण और त्रुटि को छोड़कर दिखाया गया है कि '// e + 1' ने मुझे अंतिम चार के बाद सीमा पर ले लिया मैच का; संपादित)। साफ! इसे खुद खोजने में विफल होने के बाद, मैं उम्मीद कर रहा था कि जो कुछ मैं चाहता हूं वह करना मुश्किल होगा। –

+1

ठीक है, मैं देखता हूं। जब 'चयन' विकल्प 'समावेशी' पर सेट होता है, तो उपरोक्त में '// e' कार्य करता है। जब यह 'अनन्य' पर सेट होता है, तो '// e + 1' काम करता है। मैं ': व्यवहार एमएसविन 'का उपयोग करता हूं जो'' चयन 'को' अनन्य 'पर सेट करता है। –

7

// ई आपको अंतिम खोज के अंतिम चरित्र पर ले जाता है। अधिक जानकारी -: सहायता {ऑफ़सेट}।

आप पुराने खोज बफर here को पुनर्स्थापित कैसे कर सकते हैं।

+0

यह अद्भुत काम करता है, मेरे लिए, धन्यवाद। नोरमैप चीज काम नहीं कर रही थी (या शायद यह जिस तरह से मुझे जरूरी नहीं था?) –

4

लोग भविष्य में इस सवाल को भूल गए हैं के लाभ के लिए, vim अब इस सुविधा में निर्मित है । इसे गति के रूप में भी इस्तेमाल किया जा सकता है; जैसे cgn अगले मैच में कूद जाएगा और इसे बदल देगा।

संबंधित मुद्दे