Saya agak bingung mengapa perintah garis bawah _
, yang melompat ke awal baris (COUNT - 1) di bawah kursor, mendapat kuncinya sendiri. Kapan saya akan menggunakan ini daripada +
atau ^
?
sumber
Saya agak bingung mengapa perintah garis bawah _
, yang melompat ke awal baris (COUNT - 1) di bawah kursor, mendapat kuncinya sendiri. Kapan saya akan menggunakan ini daripada +
atau ^
?
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 ^
, j
dan +
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 v
atau V
tepat sebelum gerakan. Jadi saya membayangkan d^
setara dengan v^d
dan saya membayangkan d_
setara V_d
atau 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 dVw
seperti Vwd
yang 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, 3dd
menghapus 3 seluruh garis, dll.
dd
lebih mudah darid_
dan3yj
lebih mudah dari4y_
.dd
mungkin lebih nyaman daripadad_
, tapi itu karenadd
hanya pemetaand_
. Dan itu juga berguna dalam vimscript.gUU
? Saya pikir akan bermanfaat untuk menemukan contoh aktual di mana<operator>_
akan digunakan.