जवाबों:
अच्छा प्रश्न!
एक प्रस्ताव के रूप में, आप सही हैं, _
विशेष रूप से उपयोगी कुंजी नहीं है।:h _
*_*
_ <underscore> [count] - 1 lines downward, on the first non-blank
character |linewise|.
यहाँ मुख्य शब्द "अलंकृत" है। इसलिए यदि आपके लक्ष्य सिर्फ कर्सर ले जाने के लिए, तो है ^
, j
और +
सब काम किया हो, और वहाँ के लिए बहुत कुछ बिंदु नहीं है _
। लेकिन एक ऑपरेटर के तर्क के रूप में, _
सुपर शक्तिशाली है।
बहुत सारे दोहरे कुंजी शॉर्टकट वास्तव में सिर्फ शॉर्टकट हैं _
। उदाहरण के लिए,
dd -> d_
cc -> c_
yy -> y_
Y -> y_
आदि क्योंकि यह एक अलंकृत गति है, यह मूल रूप से आपके कर्सर के शुरू होने की परवाह किए बिना पूरी लाइन का चयन करता है, जबकि ^
बस आपके चरित्र से पहले गैर-रिक्त पर जाता है।
जब मुझे लगता है कि मैं v
या तो V
गति से पहले या सही दबा रहा हूं, तो यह सोचकर कि मुझे लाइनवाइज बनाम ब्लॉकवाइज गतियों के बारे में सोचने में मदद मिलती है। तो मुझे लगता है d^
के बराबर होने का v^d
और मैं कल्पना d_
के बराबर होने का V_d
या V^d
। बेशक, आप इसे गति प्रदान करने के लिए एक गति को ओवरराइड कर सकते हैं ताकि यह अलंकृत या चरित्रवान हो सके। तो dv_
वास्तव में बिल्कुल के रूप में एक ही है d^
या v^d
, और dVw
की तरह है Vwd
जो वास्तव में की तरह है d_
।
कारण यह है कि विशेष रूप से "काउंट -1th" लाइन इतनी है कि 1dd
(जो वास्तव में है d1_
) एक पूरी लाइन को हटाता है, 2dd
(जो वास्तव में है d2_
) 2 पूरी लाइनों को 3dd
हटाता है , 3 पूरी लाइनों को हटाता है, आदि।
dd
की तुलना में अधिक सुविधाजनक हो सकता है d_
, लेकिन ऐसा इसलिए dd
है क्योंकि सिर्फ एक मानचित्रण है d_
। और यह vimscript में भी उपयोगी है।
gUU
? मुझे लगता है कि इसका वास्तविक उदाहरण ढूंढना सार्थक <operator>_
होगा जहां इसका उपयोग किया जाएगा।
dd
की तुलना में आसान हैd_
और3yj
की तुलना में आसान है4y_
।