पूरे बफर को बदलने के लिए सबसे कुशल तरीका?


10

वर्तमान में, मेरे पास पूरे बफर को किसी अन्य पाठ (क्लिपबोर्ड में कहें) के साथ बदलने के लिए दो समान तरीके हैं।

विधि # 1:

  1. सभी लाइनों को हटा दें: :%d

  2. पेस्ट टेक्स्ट: "+P(या समान:) :put+

विधि # 2:

  1. नेत्रहीन सभी लाइनों का चयन: ggVG

  2. पाठ चिपकाएँ: "+P

हालांकि मैं ऐसा करने के लिए एक-कमांड-फायर तरीका खोजने के लिए प्रतीत नहीं कर सकता था। मुझे जो सबसे करीब मिला वह है :changeकमान। लेकिन यह रजिस्टरों के साथ अच्छी तरह से काम नहीं करता है। बेशक मैं कुछ फ़ंक्शन बना सकता हूं और / या ऐसा करने के लिए एक कुंजी को मैप कर सकता हूं। लेकिन इससे पहले कि मैं ये सब अनुकूलन कर सकता हूं, मैं यह सुनिश्चित करना चाहता हूं:

क्या कुछ अन्य पाठ के साथ लाइनों की एक श्रृंखला को बदलने के लिए कुछ अंतर्निहित कमांड है? जैसे, आप :%replace+क्लिपबोर्ड में पाठ के साथ पूरे बफर को बदलने के लिए कर सकते हैं ?


2
मैं अपने सिर के ऊपर से कुछ भी नहीं जानता, लेकिन अगर आप ऐसा करते हैं, तो मैपिंग / कमांड क्यों नहीं बनाते?
मैट बोहेम

5
हम्म, 1,$s/\_./\=@+एक समाधान नहीं है: पी, :%d|put+करीब है, लेकिन काफी नहीं है।
रनियम

1
मैं डॉट के बाद एक तारांकन भूल गया ... 1,$s/\_.*/\=@+, जहां न्यूलाइन सहित\_. किसी भी चरित्र से मेल खाता है ।
रनियम

2
क्या आप है बफर पुन: उपयोग करने के लिए, या यह एक नया बफर शुरू करने के लिए स्वीकार्य होगा?
२००/२०२०

3
मुझे लगता है कि सुकमिंदर :%d|put+बिल को फिट करता है। यह छोटा और यादगार है। अन्य कमांड केवल याद रखने और सही ढंग से टाइप करने के लिए बहुत रहस्यमय है।
रेयान

जवाबों:


2

आप ggvG<CTRL-G>नेत्रहीन पूरे बफर का चयन करने और दर्ज करने के लिए कर सकते हैं Select-mode। यह उस पाठ के साथ बफर को बदलने का सबसे आसान तरीका है जिसे आप टाइप करने की योजना बना रहे हैं। आप अपनी समस्या को हल करने के साथ एक Select-modeमैपिंग भी कर सकते हैं :smap


0

आपके क्लिपबोर्ड के साथ पूरे बफर को बदलने का एक तरीका बाहरी कमांड के माध्यम से हो सकता है, उदाहरण के लिए:

:%!pbpaste
:%!echo my_text

इसे भी देखें: Mac OS X क्लिपबोर्ड शेयरिंग

या प्रतिस्थापन का उपयोग करके:

:%s/\_.*/\=@+/
:%s/\_.*/my text/

वैकल्पिक रूप से उपयोग करें :%d|put+(जैसा कि पहले से ही टिप्पणियों में सुझाया गया है)।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.