Bunun belirli bir tarihsel nedeni var mı?
Arkaplan - (Soruyu daha önce anladıysanız, bu bölümü atlayabilirsiniz)
Orta / ileri düzeydeki vikullanıcıların bileceği gibi y, "yank" komutu - aşağıdaki hareket komutu tarafından belirtilen metni sıralar (kopyalar). * Böylece yekelimenin sonuna doğru y0yanar, imleç konumundan satırın başına yanlar, y_mevcut çizginin tamamını y$, imleç konumundan geçerli çizginin sonuna, vb.
d(Silme) komuta ve c(değiştir) komutu her iki hareketlerin hepsi de kullanılabilir.
ddbu, d_geçerli satırın tamamıyla eşanlamlı ve silinen bir eşittir . Aynı şekilde, ccşu anki satırın eş anlamlısıdır c_ve değişecektir (yani tüm metni siler ve satırın başında ekleme moduna geçirir). **
"Yank" komutu bu sözleşmeyi izler; yytıpkı şu anki satırın aynısını yapacağız y_.
Başka Dbir eş anlamlı kümesi daha vardır: d$imleç konumundan satır sonuna kadar silinecek bir eş anlamlıdır . Cbu c$, yeni imleci yazmak için ekleme moduna getirerek metni imleç konumundan satırın sonuna kadar değiştirir.
Ancak, Ybir başka eşanlamlı yyveya y_ve yank edecek tüm çizgi Eğer beklediğiniz gibi satırın sonuna değil, sadece imleci, Cve Ddesenleri.
Vim'de viaşağıdaki Vim yardımında belirtildiği gibi geriye dönük uyumluluğun korunmasının bu şekilde tutulduğunu anlıyorum :help Y:
Eğer "Y" nin imleçten satır sonuna kadar (daha mantıklı ama Vi uyumlu değil) çalışmasını istiyorsanız ": map y y $" kullanın.
Öyleyse burası bir sahip vi. İnce.
Ancak, emir neden bu şekilde tasarlandı? Hiç bir mantık var mıydı?
* Özellikle, metni 0 yazmacına yerleştirir ve adsız yazmacıyı 0 yazmacına yönlendirir.
** Sorumla ilgisi olmasa da, veya Siçin başka bir eşanlamlı .ccc_