NB यह "d3fg" कमांड कैसे काम करता है, इसका कोई डुप्लिकेट नहीं है ? बंद करने से पहले कृपया इसे पढ़ें!
मैं अपनी खोज में थोड़े से आवेग में आया हूं कि छोटे विलोपन को बड़े लोगों की तरह काम कर सकें । मेरे पास जो समस्या है वह यह है कि मैं यह पता नहीं लगा सकता कि कैसे कमांड को फिर से तैयार करना है d3d। वास्तव में, मैं यह भी नहीं समझ सकता कि वे पहली जगह में कैसे काम करते हैं, न ही विम की मदद में उनका कोई उल्लेख मिलता है। *
d3jसीधा है: यह d
ऑपरेटर को 3j
गति पर लागू करता है,
3ddसीधा भी है: यह dd
3 की "गिनती" के साथ कमांड चलाता है ।
d3d ऐसा लगता है कि यह सीधा होना चाहिए, यह d
ऑपरेटर को लागू करता है ... लेकिन क्या है 3d
? यह एक गति नहीं है। यदि आप 3dअपने दम पर टाइप करते हैं, तो विम इसे एक ऑपरेटर द्वारा पीछा की गई गिनती के रूप में मानता है, और आगे के इनपुट के लिए धैर्यपूर्वक प्रतीक्षा करता है।
और आप अन्य ऑपरेटरों के लिए ऑपरेटरों को लागू नहीं कर सकते। ddदो ऑपरेटरों के अनुक्रम के रूप में मदद में वर्णित नहीं है। यह एक अलग, दो-कीस्ट्रोक कमांड है। (cf. dc, जो कुछ नहीं करता है।)
यह भी ऐसा प्रतीत नहीं होता है कि गिनती की स्थिति दो कीस्ट्रोक्स की आवश्यकता वाले कमांड के लिए लचीली है: 2gjकर्सर को दो स्क्रीन-लाइनों को नीचे ले जाता है, लेकिन g2jपहले दो कीबोर्ड को पूरी तरह से हटा देता है और कर्सर को एक लाइन से नीचे ले जाता है।
तो यह कैसे काम करता है? क्या यह विम के आंतरिक कोड में सिर्फ एक विशेष मामला है? क्या कोई तरीका है जिससे मैं d[count]d
मैपिंग बना सकता हूँ ?
संपादित करें : यह एक पाठ वस्तु है? :h text-objects
इसे "टेक्स्ट ऑब्जेक्ट सिलेक्शन कमांड्स" की सूची में शामिल नहीं करता है, लेकिन फिर यह "छोटे से बड़े ऑब्जेक्ट्स में समूहीकृत" डिलीट की सूची में dd को शामिल करता है । और d2awकर्सर और नीचे दिए गए शब्द को हटा देता है। दूसरी ओर, c2dकुछ नहीं करता है।
* मुझे यकीन है कि उनमें से कुछ का अस्तित्व होना चाहिए, लेकिन मुझे यह नहीं मिल रहा है। मैंने 1-9 से एन के सभी मूल्यों के लिए पढ़ा है :help deleting
, :help motion.txt
और कोशिश की है:helpgrep dNd
।
dd
के समान है d_
। _
कर्सर को ( [count]
-1) वें लाइन पर पहले गैर-रिक्त स्थान पर लाता है , लेकिन यह अलंकृत है, इसलिए जब इसे ऑपरेटर के साथ जोड़ा जाता है, तो यह पूरी लाइनों पर काम करता है। उस कारण से, यह समझ में आता है कि दोनों के बीच एक गिनती दिखाई दे सकती है d
।
d
पुष्टि के रूप में कार्य करता है; तो यह भी ऐसा ही हैd3<CR>
।y3y
औरc3c
समान काम करें ... मैं इस पर कोई डॉक्स नहीं पा सकता हूँ हालांकि या तो विम: हेल्प, vi (1), nvi (1), या POSIX स्पेक ... यह इनvi
औरnvi
btw के समान व्यवहार करता है ।