जवाबों:
फ्लैग c (vim कमांड प्रॉम्प्ट में) जोड़ें:
:%s/old/new/gc
'पुरानी' की प्रत्येक घटना पर आपको हां / नहीं में संकेत देगा।
पुष्टि के साथ स्थानापन्न करने के बाद उपलब्ध विकल्पों पर उपयोगी जानकारी प्रदान करने में विम की अंतर्निहित मदद का चयन किया गया है। उपयोग:
:h :s
फिर पुष्टिकरण विकल्पों पर अनुभाग पर स्क्रॉल करें। नीचे स्क्रीनशॉट:
उदाहरण के लिए, इसे और शेष सभी मैचों को स्थानापन्न करने के लिए, उपयोग करें a
।
मार्क Biek का उपयोग कर बताया:
%s/old/new/gc
एक वैश्विक खोज के लिए प्रत्येक प्रतिस्थापन के लिए पुष्टि के साथ बदलें। लेकिन, मैं अंतःक्रियात्मक रूप से सत्यापित करने का भी आनंद लेता हूं कि पुराना पाठ सही ढंग से मेल खाएगा। मैं पहले एक रेगेक्स के साथ एक खोज करता हूं, फिर मैं उस पैटर्न का पुन: उपयोग करता हूं:
/old.pattern.to.match
%s//replacement/gc
s//
पिछले खोज पैटर्न का उपयोग करेगा।
मुझे लगता है कि आप ढूंढ रहे हैं c
, उदाहरण के लिए s/abc/123/gc
, यह VIM को प्रतिस्थापन की पुष्टि करने का कारण बनेगा। देखें: मदद: अधिक जानकारी के लिए स्थानापन्न।
मैं आमतौर पर खोज / विकल्प / अगले / दोहराने कमांड का उपयोग करता हूं :-)
/old<CR>3snew<ESC>n.n.n.n.n.n.n.
बात यह है कि find "old"
, substitute 3 characters for "new"
, find next
, repeat substitute
, और इतने पर।
यह बड़े पैमाने पर प्रतिस्थापन के लिए एक दर्द है, लेकिन यह आपको पुराने की कुछ घटनाओं को चुनिंदा रूप से अनदेखा करने देता है (केवल एक प्रतिस्थापन को दोहराने के n
बजाय अगले एक को खोजने के लिए फिर से दबाकर .
)।
<CR>
?
यदि आपके प्रतिस्थापन पाठ को प्रत्येक मिलान वाली घटना के लिए बदलने की आवश्यकता है (अर्थात केवल एक प्रतिस्थापन को लागू करने के लिए हां / नहीं चुनना) तो आप एक Vim प्लगइन का उपयोग कर सकते हैं जिसे मैंने इंटरैक्टिव-प्रतिस्थापन कहा है ।
नेओविम में अब प्रतिस्थापन का पूर्वावलोकन करने की सुविधा है:
चित्र से लिया गया: https://medium.com/@eric.burel/stop-using-open-source-5cb19baca44d फ़ीचर का दस्तावेज़ीकरण: https://neovim.io/doc/user/options.html# 'inccommand'
nvim
अंतर्निहित सुविधा के रूप में बहुत अच्छा है , यह जानने के लिए अच्छा है! साझा करने के लिए धन्यवाद!