मैं विम के साथ खोज और प्रतिस्थापन को कैसे अवरुद्ध करूं?


8

मेरे पास विम में पाठ है

  1. Ctrl+Vब्लॉक मोड में VIm डालने के लिए मारा
  2. मुझे जो पाठ चाहिए उसे हाइलाइट करें
  3. :इस प्रकार यह संकेत देता है:'<,'>
  4. मैं अपने regex प्रॉम्प्ट में जोड़ता हूं s/ /*/g। यह मेरे साथ है :'<,'>s/ /*/gऔर पाठ पर प्रकाश डाला गया
  5. मैंने एंट्री मार दी

दुर्भाग्य से, यह ब्लॉक के लिए नहीं बल्कि ब्लॉक के लिए पूरी लाइन पर संचालित होता है। वहाँ वैसे भी एक ब्लॉक खोज और प्रतिस्थापित करने के लिए है?

जवाबों:


12

जब दृश्य ब्लॉक मोड में पूर्व कमांड का उपयोग करते हैं :, तो वे हमेशा पूरी लाइन पर काम करते हैं। इसके आसपास दो तरीके हैं:

  1. \%Vपरमाणु केवल दृश्य क्षेत्र के अंदर से मेल खाएगी। प्रयत्न

    :'<,'>s/\%V /*/g
    

    देख :help %V

  2. कुछ आदेशों के विशेष दृश्य संस्करण हैं, लाइव v_s या v_r। देख:help visual-operators

मैं यह पता नहीं लगा सकता कि इसे कैसे काम किया जाए
इवान कैरोल

\% V परमाणु एक पैटर्न को प्रतिबंधित करेगा ताकि यह केवल दृश्य चयन के अंदर मेल खाता हो। कोशिश करें:'<,'>s/\%V /*/g
डेवपैरिलो

1
इस पृष्ठ पर एक अच्छा राइटअप है जो आप करने की कोशिश कर रहे हैं। vim.wikia.com/wiki/Search_and_replace_in_a_visual_selection
डेवपैरिलो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.