कर्सर के तहत एक शब्द को कैसे बदला जाए?


144

मैं विम में कर्सर के नीचे एक शब्द कैसे बदलूं।

का उपयोग कर के बजाय dwतो iतो शब्द और उसके बाद Esc, वहाँ कर्सर के तहत शब्द को बदलने के लिए एक सरल संयोजन है?

जवाबों:


251
ciw

(change inner word) कर्सर के नीचे पूरे शब्द को बदल देगा । तुलना करना

cw

जो केवल वर्तमान कर्सर स्थिति से शब्द को बदल देगा । अधिक जानकारी के लिए इस SO प्रश्न / उत्तर को देखें।


यदि शब्द में डॉट्स या स्लैश (जैसे /usr/bin/bashया 1222.333) हैं तो स्थिति से कैसे निपटें ? यह विम इंटरप्रिटेशन /और .शब्द के अंत के समान दिखता है और संपूर्ण स्ट्रिंग का चयन नहीं करेगा।
अलेक्जेंडर सीस्का

85

मैं अक्सर खुद को एक शब्द को दूसरे के साथ बदलना चाहता हूं जो मैंने कहीं और से लिया है। अन्य समाधान के साथ समस्या यह है कि यदि आप एक शब्द बदलने का प्रयास है, तो अपने अगले पेस्ट जाएगा हो कि शब्द है जो आप के साथ नष्ट कर दिया cw

निम्नलिखित आज़माएँ:

1 "This first word should overwrite the second"

yiw     yank inner word (copy word under cursor, say "first").
...     Move the cursor to another word (say "second").
viwp    select "second", then replace it with "first". 

आशा है कि आप क्या देख रहे थे।


7
यह अच्छी तरह से काम करता है लेकिन केवल अगर प्रतिस्थापन किया जाना है once। यदि मुझे पहले के जोड़े को second' by बदलना है (आपके उदाहरण में), secondतो पहले प्रतिस्थापन के बाद कॉपी किया गया शब्द बन जाता है ।
वीआईएफआई

32

ciw

c   change
iw  inner word

यह कर्सर के तहत शब्द को हटा देगा (भले ही कर्सर शब्द के बीच में कहीं हो) और इंसर्ट मोड डालें।


संदर्भ के लिए विम के दस्तावेज भी देखें:

:help c
:help text-objects

17

यदि आप किसी शब्द को पहले से लिखे हुए शब्द से बदलना चाहते हैं, तो एक और उपाय है viwp(एक बार जब आपने पहला शब्द yanked कर लिया है)।

ciwपिछले शब्द को निकालता है और आपको इन्सर्ट मोड में डालता है जहाँ यह था। लेकिन फिर आप ctrl+r, 0रजिस्टर 0 की सामग्री (जिसमें पहले से लगा हुआ शब्द हो) सम्मिलित कर सकते हैं ।

इसलिए:

yiw
[move to next word]
ciw
ctrl+r
0

यह बेहतर काम करता है viwpक्योंकि पहले उपयोग के बाद आप बार-बार प्रतिस्थापन के साथ प्रदर्शन कर सकते हैं .। यह भी दृश्य मोड में स्विच नहीं करता है और संक्षेप में हाइलाइट करता है।


1
सुनिश्चित नहीं हैं कि आपका क्या मतलब है कि यह मोड नहीं बदलता है, विपरीत मामला प्रतीत होता है, लेकिन हो सकता है कि आप जो चाहते थे, सम्मिलित मोड में रहें। लेकिन एक बड़ा फायदा यह है कि यह (इसके विपरीत viwp) सिर्फ एक यांकिंग के साथ कई बार किया जा सकता है। धन्यवाद!
पालो

ओह, तुम सही हो, मैं दृश्य विधा में जाने की सोच रहा था, संपादित। मुझे महसूस नहीं हुआ कि यह एक सीमा थी viwp- यहां तक .कि इसकी नकल भी नहीं की।
कॉनर

3
यह अब तक का सबसे अच्छा समाधान है जब हमने पहले से ही प्रतिस्थापन शब्द को yanked कर दिया है।
mljrg

1
यह जवाब है! .इस के साथ प्रयोग करने की क्षमता महान है!
इज़ी

1

कोशिश करें cw- जैसा कि 'परिवर्तन शब्द' में है।

संदर्भ के रूप में http://linuxmoz.com/vi-commands-cheat-sheet/ या किसी अन्य चीट शीट का उपयोग करें ।


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