क्यों `cw` और` Ce` एक ही काम करते हैं?


15

यह हमेशा मेरे बारे में bugged है wऔर Wगति आदेशों-वे अलग तरह से काम करने लगते हैं जब साथ प्रयोग किया cपरिवर्तित करें आदेश जब अकेले इस्तेमाल किया, या के साथ की तुलना में वे करते हैं dहटाएं आदेश।


उदाहरण के लिए, इस पाठ के "क्ष" पर कर्सर के साथ:

The quick brown fox jumps over the lazy dog.

में टाइपिंग के dwपरिणाम

The brown fox jumps over the lazy dog.

और टाइपिंग में deपरिणाम

The  brown fox jumps over the lazy dog.

("द" और "ब्राउन" के बीच दो रिक्त स्थान देखें।)


yAnk आदेश भी व्यवहार करता है wऔर eअलग ढंग से, के रूप में की तुलना द्वारा दिखाया जा सकता है yeP:

The quickquick brown fox jumps over the lazy dog.

और ywP:

The quick quick brown fox jumps over the lazy dog.

हालाँकि, टाइपिंग ceslow<Esc>या cwslow<Esc>परिणाम एक ही चीज़ में :

The slow brown fox jumps over the lazy dog.

क्या यह कहीं दस्तावेज है? इसके पीछे क्या तर्क है और मैं एक कमांड के परिणामों का अनुमान कैसे लगा सकता हूं w?

जवाबों:


18

यह एक विशेष मामला है। "विशेष मामले" के तहत, WORD के दस्तावेज़ीकरण की जाँच करें :

विशेष मामला: "सीडब्ल्यू" और "सीडब्ल्यू" को "सीई" और "सीई" की तरह माना जाता है यदि कर्सर गैर-रिक्त स्थान पर है। ऐसा इसलिए है क्योंकि "cw" की व्याख्या परिवर्तन-शब्द के रूप में की जाती है, और एक शब्द में निम्नलिखित श्वेत स्थान शामिल नहीं है। {Vi: "cw" जब एक रिक्त पर अन्य रिक्त स्थान के बाद केवल पहले रिक्त को बदलता है; यह संभवतः एक बग है, क्योंकि "dw" सभी रिक्त स्थान को हटा देता है}

एक अन्य विशेष मामला: जब ऑपरेटर के साथ संयोजन में "w" गति का उपयोग किया जाता है और अंतिम शब्द जो एक पंक्ति के अंत में होता है, उस शब्द का अंत संचालित पाठ का अंत बन जाता है, न कि अगला शब्द लाइन।

"ई" का मूल वीआई कार्यान्वयन छोटी गाड़ी है। उदाहरण के लिए, "ई" कमांड एक लाइन के पहले वर्ण पर रोक देगा यदि पिछली पंक्ति खाली थी। लेकिन जब आप "2e" का उपयोग करते हैं तो ऐसा नहीं होता है। Vim में "ee" और "2e" समान हैं, जो अधिक तार्किक है। हालांकि, यह Vi और विम के बीच एक छोटी सी असंगति का कारण बनता है।


1
Neovim 0.2.1 एक 'cpoptions' ध्वज "_" (अंडरस्कोर) जोड़ता है जो इस व्यवहार को जन्म देता है। neovim.io/doc/user/options.html#'cpoptions '
जस्टिन एम। कीज़

6

cwबनाम में गति के व्यवहार के बीच के अंतर को dwसरल रूप से समझाया जा सकता है: आम तौर पर यदि आप एक शब्द बदलना चाहते हैं तो आप इसके बाद व्हाट्सएप छोड़ने जा रहे हैं, जबकि एक शब्द को हटाने से आपको पता चलता है कि व्हाट्सएप भी हटा दिया जाना चाहता है।

यदि आप चाहते हैं कि व्हाट्सएप किसी कारण से चला जाए (मैं इसे नियमित रूप से पर्याप्त करता हूं लेकिन एक उदाहरण के बारे में नहीं सोच सकता) तो awगति का उपयोग करें caw:।

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