Apakah ada alasan historis khusus untuk ini?
Latar Belakang - (Anda dapat melewati bagian ini jika Anda sudah mengerti pertanyaannya.)
Seperti yang vidiketahui pengguna tingkat menengah / lanjutan , yadalah perintah "yank" - perintah itu menarik (menyalin) teks yang ditentukan oleh perintah gerakan berikut. * Dengan demikian yemenarik ke akhir kata, y0menarik dari posisi kursor ke awal baris, y_menarik seluruh garis saat ini, y$menarik dari posisi kursor ke akhir garis saat ini, dll.
Perintah d(hapus) dan perintah c(ubah) dapat digunakan dengan semua gerakan ini juga.
ddadalah sinonim untuk d_dan menghapus seluruh baris saat ini. Demikian juga, ccadalah sinonim untuk c_dan akan mengubah baris saat ini (yaitu akan menghapus semua teks dan menempatkan Anda dalam mode penyisipan di awal baris). **
Perintah "yank" mengikuti konvensi ini; yyakan menarik seluruh baris saat ini seperti y_.
Ada set sinonim lain: Dadalah sinonim untuk d$dan akan menghapus dari posisi kursor ke akhir baris. Cadalah sinonim untuk c$dan akan mengubah teks dari posisi kursor ke akhir baris, menempatkan Anda dalam mode sisipkan untuk mengetik teks baru.
Namun, Yadalah sinonim lain untuk yyatau y_dan akan menarik seluruh baris , bukan hanya dari kursor ke akhir baris seperti yang Anda harapkan dari Cdan Dpola.
Saya mengerti bahwa dalam Vim disimpan dengan cara ini untuk menjaga kompatibilitas dengan vi, sebagaimana disebutkan dalam bantuan Vim di bawah :help Y:
Jika Anda suka "Y" bekerja dari kursor ke akhir baris (yang lebih logis, tetapi tidak kompatibel dengan Vi) gunakan ": map Y y $".
Jadi ini adalah peninggalan dari vi. Baik.
Tapi, mengapa perintah itu dirancang seperti itu di tempat pertama? Apakah ada logika untuk itu?
* Secara khusus itu menempatkan teks dalam register 0 dan menunjuk register yang tidak disebutkan namanya pada register 0.
** Meskipun tidak relevan dengan pertanyaan saya, Ssinonim lain untuk ccatau c_.