2010-10-02 20 views
6

मैं एक खोज लागू करते हैं और नियमित अभिव्यक्ति पैटर्न है कि इस तरह से एक पाठ फ़ाइल पर पंक्ति और स्तंभ की सीमा में दी गई ही काम करते हैं उसे बदलना चाहते हैं बदल देते हैं:खोज और पंक्ति और स्तंभ की एक सीमा

AAABBBFFFFBBBAAABBB 
AAABBBFFFFBBBAAABBB 
GGGBBBFFFFBHHAAABBB 

के लिए उदाहरण के लिए मैं 6 से 2 और स्तंभ 4 से लाइन रेंज 1 में YYY साथ बीबीबी बदलना चाहते हैं, तो यह उत्पादन प्राप्त करने:

AAAYYYFFFFBBBAAABBB 
AAAYYYFFFFBBBAAABBB 
GGGBBBFFFFBHHAAABBB 

वहाँ विम के साथ यह करने के लिए कोई तरीका है?

उत्तर

11
:1,2 s/\%3cBBB/YYY/ 

\%3c का मतलब तीसरे स्तंभ (:help /\%c या अधिक विश्व स्तर पर देख :help pattern)

+0

कॉलम चौथा है:: 1,2s/\% 4cBBB/YYY / – aleroot

4

यह हमेशा पहले एक आप बदलना चाहते हैं, तो बस निर्दिष्ट नहीं करते/जी

:1,2s/BBB/YYY/ 

ठीक काम करेगा।

वैकल्पिक रूप से, अगर आप वास्तव में कौन-स्तंभ आप प्रतिस्थापित करना चाहते हैं निर्दिष्ट करने की आवश्यकता है, तो आप \%Nv वाक्य रचना है, जहां एन आभासी स्तंभ (स्तंभ है के रूप में यह लग रहा है उपयोग कर सकते हैं, तो टैब एकाधिक स्तंभों, उपयोग ग के बजाय वास्तविक के लिए वी कर रहे हैं कॉलम) बी के के दूसरे सेट की जगह लाइन 1 और पर

2 के साथ किया जा सकता है:

:1,2s/\%11vBBB/YYY/ 
+0

'\% v' बनाम' \% c' ... हमें बताने के लिए उसे ऊपर। – Benoit

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