VIM'de geçerli satırdan dosyanın sonuna kadar tüm metni nasıl silebilirim?


213

Çok büyük dosyalarım var (10 Gb'den fazla). Dosyanın üst kısmından sadece bazı satırlara ihtiyacım var. Dosyanın geri kalanını silmek (vim olarak) mümkün mü (geçerli satırdan dosyanın sonuna kadar)?


12
Vim kullanmak istediğinizi biliyorum, ama şöyle bir kabuk komutu yapardım: Üstten istediğiniz satır sayısı için parametre head -n <number_of_lines> <filename> > <truncated_filename> nerede-n
EhevuTov

Yanıtlar:


365

dG geçerli satırdan dosyanın sonuna kadar silinecek

dCtrl+ Endimleçten dosyanın sonuna kadar silinecek

Ancak bu dosya söylediğiniz kadar büyükse head, dosyayı düzenlemek ve kaydetmek yerine ilk birkaç satırı okumanız daha iyi olabilir .

head hugefile > firstlines

(Windows kullanıyorsanız, Win32 portunu kullanabilirsiniz head)


17
ilk 20 satır için kaç satır headtedarik edeceğini belirleyebilirsiniz : head -n20 hugefilen varsayılan olarak 10'dur.
drevicko

3
Motivasyona mı ihtiyacınız var head? Büyük bir dosyada (1G +) dG kullanmak çok zaman alır (örn. 5 dakika).
BurninLeo

3
Sohbet arayanlar için, dgggeçerli satırdan dosyanın başlangıcına kadar silinir.
stevesliva

d Ctrl + End benim için çalışmadı. d Shift + End imlecin satırın sonuna kadar silinmesine rağmen.
lightwing


30

:.,$d

Bu işlem geçerli satırdan dosyanın sonuna kadar olan tüm içeriği silecektir. Bu, test vektörü oluşturma veya soyma ile uğraşırken çok kullanışlıdır.


2
Başlangıç ​​satırında daha fazla denetime sahip olmayı tercih ediyorum, bu yüzden kullanıyorum: :<line number>,$dörneğin: :3,$dsatır 3'ten dosyanın sonuna kadar
silecek

0

Sadece başka bir yol ekleyin, normal modda, ctrl+vsonra yazın G, gerisini seçin, sonra D, bunun etkili olduğunu düşünmüyorum, lin'de @Ed Guiness, head -n 20> dosya adı gibi yapmalısınız.

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.