Bagaimana saya bisa menghapus dalam VIM semua teks dari baris saat ini ke akhir file?
213
Saya memiliki file yang sangat besar (lebih dari 10Gb). Saya hanya perlu beberapa baris dari bagian atas file. Apakah mungkin (dalam vim) untuk menghapus sisa file (dari baris saat ini ke akhir file)?
Saya tahu Anda ingin menggunakan Vim, tetapi saya akan melakukan perintah shell seperti: head -n <number_of_lines> <filename> > <truncated_filename> Di mana -nparameter untuk jumlah baris yang Anda inginkan dari atas
EhevuTov
Jawaban:
365
dG akan menghapus dari baris saat ini ke akhir file
dCtrl+ Endakan menghapus dari kursor ke akhir file
Tetapi jika file ini sebesar yang Anda katakan, Anda mungkin lebih baik membaca beberapa baris pertama dengan headdaripada mengedit dan menyimpan file.
head hugefile > firstlines
(Jika Anda menggunakan Windows, Anda dapat menggunakan port Win32 head)
Ini akan menghapus semua konten dari baris saat ini hingga akhir file. Ini sangat berguna saat Anda berurusan dengan pembuatan vektor pengupasan atau stripping.
Saya lebih suka memiliki kontrol yang lebih besar dari baris awal, jadi saya menggunakan: :<line number>,$dmisalnya: :3,$dakan menghapus dari baris 3 hingga akhir file
emont01
0
Cukup tambahkan cara lain, dalam mode normal, ketik ctrl+vkemudian G, pilih sisanya, lalu D, saya rasa itu tidak efektif, Anda harus melakukan seperti @Ed Guiness, head -n 20> nama file di linux.
head -n <number_of_lines> <filename> > <truncated_filename>
Di mana-n
parameter untuk jumlah baris yang Anda inginkan dari atasJawaban:
dG akan menghapus dari baris saat ini ke akhir file
dCtrl+ Endakan menghapus dari kursor ke akhir file
Tetapi jika file ini sebesar yang Anda katakan, Anda mungkin lebih baik membaca beberapa baris pertama dengan
head
daripada mengedit dan menyimpan file.(Jika Anda menggunakan Windows, Anda dapat menggunakan port Win32
head
)sumber
head
memasok misalnya:head -n20 hugefile
untuk 20 saluran pertama. n default ke 10.head
? Menggunakan dG pada file besar (1G +) membutuhkan banyak waktu (mis. 5 menit).dgg
akan menghapus dari baris saat ini ke awal file.Buka baris pertama yang ingin Anda hapus, dan tekan tombol dG
sumber
:.,$d
Ini akan menghapus semua konten dari baris saat ini hingga akhir file. Ini sangat berguna saat Anda berurusan dengan pembuatan vektor pengupasan atau stripping.
sumber
:<line number>,$d
misalnya::3,$d
akan menghapus dari baris 3 hingga akhir fileCukup tambahkan cara lain, dalam mode normal, ketik
ctrl+v
kemudianG
, pilih sisanya, laluD
, saya rasa itu tidak efektif, Anda harus melakukan seperti @Ed Guiness, head -n 20> nama file di linux.sumber