P neden kopyalanan bir satırı geçerli kelimeden sonra değil, geçerli satırdan sonra yapıştırdı?


12

Aşağıdaki dört satırım olduğunu varsayalım:

line1
line2
line3
line4

Şimdi gidersem line1ve bunu yybaşına git sonra hangi kopya hattı ve line3ve 'p' kullanılarak bir hamur yapın, ben alacağı

...
line3
line1
line4
....

Neden yapıştırın vermedi line1sonra line3yeni bir çizgide?

Benim ilk olsa da newline karakteri $ line3 bağlı ve pvim tuşuna bastığınızda line3$bir kelime olarak kabul edildi, bu yüzden sonra yapıştırıldı line3$. Ancak benim anlayışım yanlış gibi görünüyor. Çünkü bunu yaparsam ve satırın başında line3 $a pyaparsam aynı sonucu alırım.

Neden pyeni bir satır oluşturup yeni bir satıra yapıştırın line3?

Yanıtlar:


21

Kullandığınız hattı silinen zaman dd, bir gerçekleştirilen linewise silin.

pKomut imleç pozisyonundan sonra yapıştırır. Varsayılan kayıt, yeni içerikle doldurulduğundan, imlecin bulunduğu satırdan sonra yapıştırılacağı anlamına gelir.

Bunun yerine satırın içeriğini karakterli bir şekilde silmiş olsaydınız (ör. 0D), Kayıt karakter olarak olurdu ve bu nedenle imlecin üzerinde bulunduğu karakterden sonra yapıştırılırdı.

Genel olarak davranış, bir sil / yank ve macundan beklenenleri izlemelidir. Ancak, -wisebir kaydın ness'ini getreg () / setreg () kullanarak değiştirmek mümkündür .

Yine de bunu yaparken dikkatli olun. İlk örneğiniz göz önüne alındığında, kaydı karakter olarak değiştirmek yalnızca silme işleminin parçası olan yeni satırı kaldırmaz. Sadece macunun nasıl oluştuğunu değiştirir.


Bütün bir çizgi silme ama characterwise yapıştırarak belirli senaryoya öneriler için bkz Bu yayını .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.