İmleç konumundan başlayarak VIM'deki bir satırı nasıl hızlı bir şekilde silebilirim?


267

İmlecin VIM'deki konumunda başladığım satırın kalanını silebilirim. Bunu yapmak için kolay bir komut var mı?

Göstermeye yardımcı olmak için, bu komuttan önce gelir.

The quick brown dog jumps over the lazy fox.
     ^
     |----- Cursor is here.

Bu komuttan sonra

The q
     ^
     |----- Cursor is here.

Yanıtlar:


430

(Yorumcunun iyi eklemelerini içerecek şekilde düzenlendi :)

Dveya eşdeğeri d$, satırın geri kalanını siler ve sizi komut kipinde bırakır. Cveya c$satırın geri kalanını silip sizi ekleme moduna geçirir ve hatta yeni metin eklenir.

Bu vim yeni başlayanlar için mükemmel bir "okuma" vitutorve parçasıdır vimtutor.


1
Blast, bunun kolay bir şey olduğunu düşündüm, bunu bir şeyin dizlediği bir kombinasyon düşünüyordum . Soruyu buraya göndermenin daha hızlı olacağını ve kılavuzu okumadan önce çevrimiçi arama yapan varsayılan kişilere fayda sağlayacağını düşündüm.
Anthony

2
Veya C, imleci belirtilen konuma getirmenin tek "gerçek" yolu, ancak bu sizi ekleme moduna sokar.
Walter

1
@Anthony: Orada da bir " diçin -eşdeğer komutuyla bir şey tarafından takip edilen" D"bir şey" dir, $hareket: d$.
ib.

2
Ve ekleme moduna geçmek istiyorsanız, C(veya c$) kullanın
Benoit

7
Bu çözümün zaten cevaplanmış olduğunu fark ettim, ancak VIM ile tüm bir satırı silmenin bir yolunu aradım ve buldum. Aradığım seçenek ddkomut modundan oldu. Umarım bu sorunla karşılaşan herkese yardımcı olur.
Frito


21

Ayrıca ilginizi çekebilir C, satır sonu gibi de silinir D, ancak ek olarak sizi imleç konumunda Ekle moduna sokar.




5

Bu çok eski bir soru, ama VIM hala alakalı olduğundan bir şeyler netleştirilmelidir.

Ekim 2018'den itibaren buradaki her cevap ve yorum, yaygın olarak "kesme" eylemi olarak bilinen şeyden bahsetti, bu nedenle bunlardan herhangi birini kullanmak, şu anda VIM'in adsız kaydında bulunanların yerini alacak . Bu kayıt defteri varsayılan kopyala / yapıştır panosu gibi davranma eğilimindedir, bu nedenle daha sonra aynı yere bir şey yapıştırmak için bir satırın geri kalanını silerseniz, bu cevapların hiçbiri istenen şekilde çalışmaz, çünkü silinen her şey daha sonra yapıştırılacaktır daha önce çekildiği şey yerine.

OP'ın bağlamda doğru silme komutu "_D(veya "_Cinsert modu isteniyorsa) Bu içine silinen içeriği gönderir kara delik kayıt ile belirtilen, "_(hala kullanarak bu işlemi geri alabilirsiniz rağmen bir daha hiç kimse rahatsız edecek u).

Bununla birlikte, en son ne çekilirse 0 kaydında saklanır ve isimsiz kayıtta değiştirilse bile, yine de yapıştırılabilir "0p.

Ekstra VIM eğlencesi için genel olarak kara delik kaydı ve kayıtları hakkında daha fazla bilgi edinin !


4

Dveya ddsatırı siler ve kayıt defterine kopyalar. VxYalnızca çizgiyi silen ve normal modda kalanları kullanabilirsiniz .

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.