Bunun belirli bir tarihsel nedeni var mı?
Arkaplan - (Soruyu daha önce anladıysanız, bu bölümü atlayabilirsiniz)
Orta / ileri düzeydeki vi
kullanıcıların bileceği gibi y
, "yank" komutu - aşağıdaki hareket komutu tarafından belirtilen metni sıralar (kopyalar). * Böylece ye
kelimenin sonuna doğru y0
yanar, 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.
dd
bu, 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; yy
tıpkı şu anki satırın aynısını yapacağız y_
.
Başka D
bir eş anlamlı kümesi daha vardır: d$
imleç konumundan satır sonuna kadar silinecek bir eş anlamlıdır . C
bu c$
, yeni imleci yazmak için ekleme moduna getirerek metni imleç konumundan satırın sonuna kadar değiştirir.
Ancak, Y
bir başka eşanlamlı yy
veya y_
ve yank edecek tüm çizgi Eğer beklediğiniz gibi satırın sonuna değil, sadece imleci, C
ve D
desenleri.
Vim'de vi
aş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 S
için başka bir eşanlamlı .cc
c_