Jawaban:
Pertanyaan bagus!
Sebagai gerakan dengan sendirinya, Anda benar, _bukan kunci yang sangat berguna.:h _
*_*
_ <underscore> [count] - 1 lines downward, on the first non-blank
character |linewise|.
Kata kuncinya di sini adalah "linewise". Jadi, jika tujuan Anda adalah untuk hanya memindahkan kursor, kemudian ^, jdan +semua mendapatkan pekerjaan yang dilakukan, dan tidak ada banyak titik untuk _. Tetapi sebagai argumen bagi operator, _sangat kuat.
Banyak pintasan tombol ganda sebenarnya hanya pintasan untuk _. Sebagai contoh,
dd -> d_
cc -> c_
yy -> y_
Y -> y_
dll. Karena ini merupakan gerakan garis, itu pada dasarnya memilih seluruh baris untuk dioperasikan di mana pun kursor Anda mulai, sedangkan ^hanya bergerak dari karakter Anda ke non-blank pertama.
Ini membantu saya ketika berpikir tentang gerakan linear dan blockwise untuk membayangkan bahwa saya menekan salah satu vatau Vtepat sebelum gerakan. Jadi saya membayangkan d^setara dengan v^ddan saya membayangkan d_setara V_datau V^d. Tentu saja, Anda juga dapat mengesampingkan gerakan untuk memaksanya menjadi garis atau karakter. Jadi dv_sebenarnya persis sama dengan d^atau v^d, dan dVwseperti Vwdyang persis seperti d_.
Alasannya secara khusus garis "hitung-1" adalah agar 1dd(yang benar-benar d1_) menghapus satu baris penuh, 2dd(yang benar-benar d2_) menghapus 2 seluruh garis, 3ddmenghapus 3 seluruh garis, dll.
ddmungkin lebih nyaman daripada d_, tapi itu karena ddhanya pemetaan d_. Dan itu juga berguna dalam vimscript.
gUU? Saya pikir akan bermanfaat untuk menemukan contoh aktual di mana <operator>_akan digunakan.
ddlebih mudah darid_dan3yjlebih mudah dari4y_.