2010-05-29 17 views
8

यहां परिदृश्य है: मुझे एक बड़ी फाइल मिली है जो सभी प्रकार के उदार कचरे से भरी हुई है जिसे मैं रेगेक्स करना चाहता हूं। मैं चारों ओर घूमता हूं और / कमांड का उपयोग कर और एकदम सही खोज पैटर्न के साथ आ जाता हूं और यह देखता है कि यह क्या हाइलाइट करता है।विम में रेगेक्स पैटर्न को प्रतिस्थापित करते समय खोज पैटर्न को कैसे याद किया जाए?

अब मैं उस पैटर्न को प्रतिस्थापित करने के लिए उपयोग करना चाहता हूं। इसलिए, मैं टाइप करना शुरू करता हूं:% s/ और मुझे याद नहीं है कि पैटर्न क्या था। क्या कोई जादुई कीबोर्ड कमांड है जो यहां मेरे आखिरी खोज पैटर्न को खींच देगा? अगर मैं एक विशेष रूप से जटिल रेगेक्स लिख रहा हूं, तो मैंने एक नई मैकवीम विंडो भी खोली है, पहली विंडो से रेगेक्स को वहां एक बफर में टाइप किया है, फिर प्रतिस्थापन पैटर्न लिखते समय इसे वापस विम विंडो में टाइप किया है। ऐसा करने का एक बेहतर तरीका होना चाहिए।

उत्तर

10

प्रश्न लिखने के बाद मेरा अपना जवाब मिला: विम टिप्स इसे substitute last search के रूप में सूचीबद्ध करता है और इसे दो तरीकों से किया जा सकता है।

  1. एक खाली खोज का उपयोग करना:

    :% s // की जगह/जी

  2. /Ctrl +दबाने आर तो खोज बफर से सामग्री को याद करने तक (/ - आप उस बग का प्रतिनिधित्व करने वाले पत्र के लिए / को प्रतिस्थापित करके किसी अन्य नामित बफर का उपयोग कर सकते हैं ffer)।

+2

स्व-उत्तर, लोगों के लिए खेद है। मुझे वास्तव में जवाब खोजने में कठिनाई हुई थी, इसलिए महसूस किया कि यह डालने लायक था। और मेटा का कहना है कि अपने प्रश्नों का उत्तर देना ठीक है - http://meta.stackexchange.com/questions/12513/should-i-not-answer-my-own-questions –

+1

यदि आप एक से अधिक का उपयोग करने की आवश्यकता समाप्त करते हैं आर्केन रेगेक्स आपके पारिस्थितिक कचरे के माध्यम से निकलने के लिए, यह एक प्रकार के कचरे के लिए ': चलो बी: tires_sifter = @/'का उपयोग करके चर में बनाए रखने के लिए उपयोगी हो सकता है, और': b: pope_on_a_ropes_sifter = @ /' बाद में आपके बाद यह पता लगाया गया है कि उस इकाई के उदाहरणों का पता लगाने के लिए कि किसी के पास कभी भी बहुत कुछ नहीं हो सकता है। उन्हें '@/'पर वापस असाइन करके,' निष्पादन 'लाइन का उपयोग करने के लिए, या' खोज()' (आईआईआरसी .. शायद 'matchadd') फ़ंक्शन का उपयोग करके उन्हें बाहर खींचें। – intuited

4

एक / रजिस्टर वर्तमान खोज पैटर्न शामिल नहीं है, इसलिए आप <CTRL-R>/

1

एक अन्य विकल्प के साथ आप जो कुछ भी लिख रहे हैं, में (या तो डालने मोड में या कमांड लाइन पर) खोज पैटर्न सम्मिलित कर सकते हैं : <CTRL-R>/ के साथ पैटर्न दर्ज करने के बाद, <CTRL-F> के साथ कमांड लाइन संपादित करें।

: मदद cmdwin

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