Bisakah saya menggunakan vim untuk membuka file besar secara efektif?
17
kadang-kadang saya perlu membuka beberapa file log GB, sekarang saya perlu menggunakan tail untuk mendapatkan bagian yang cocok tapi itu sangat membosankan.
Bisakah saya menggunakan vim untuk membukanya secara langsung? Saat ini vim akan menempati banyak memori ketika membuka file besar ... Hanya ingin tahu mengapa itu diperlukan? Jika ada beberapa opsi dapat mencegah memori dimuat?
Jika Anda hanya ingin melihat file, gunakan lebih sedikit .
Jika Anda perlu memotong bagian tertentu dari file, lakukan ini (dalam waktu kurang ):
Buka halaman 1 yang Anda minati
Tekan tombol mdan a- ini berarti: tandai posisi a .
Pergi ke posisi terakhir dari file yang Anda minati
Tekan tombol |(pipa) dan a- ini berarti: pipa semuanya antara sini dan posisikan a ke perintah
Ketikkan perintah yang Anda inginkan untuk mengirim data. Jika Anda ingin menyalin data ini ke dalam buffer editor, cukup gunakan vim -sebagai perintah (tanda minus sebagai nama file berarti file yang akan diedit dibaca dari stdin ).
Jika Anda tahu bahwa Anda akan memerlukan semua data dari posisi tertentu hingga akhir file Anda juga dapat melakukan ini:
Buka halaman 1 yang Anda minati
Tekan tombol |(pipa) dan $- ini berarti: pipa semuanya antara sini dan akhir file ke perintah
Ketikkan perintah yang Anda inginkan untuk mengirim data (misalnya cat >/tmp/myfileatau vim -).
Ya, Vim dapat membuka file yang sangat besar. Tetapi, untuk menghemat ingatan beberapa hal yang mungkin harus Anda ingat sebelum melakukannya:
abaikan filetype (tidak ada penyorotan sintaks dan sebagainya), meskipun kemungkinan besar tidak akan memiliki sintaksis yang tinggi untuk file log sama sekali, tetapi hanya untuk memastikan agar tidak mulai menelusuri mereka
noswapfile (Anda pasti tidak ingin salinan file sebesar itu)
bufhidden = bongkar (hemat memori saat file lain dilihat)
buftype = nowritefile (hanya baca)
undolevels = -1 (tidak dapat dibatalkan)
Mungkin ada satu atau dua opsi yang saya lewatkan, tetapi ini sejauh ini di _vimrc saya.
Perhatikan bahwa (1) ada plugin ( vim.org/scripts/script.php?script_id=1506 ) untuk mengaktifkan beberapa opsi ini secara otomatis ketika file besar dibuka, dan (2) bahkan dengan program ini, membuka file yang lebih dari beberapa GB dalam ukuran masih bisa bermasalah, jadi saya sarankan mengikuti tip "Ctrl-C" di sini: stackoverflow.com/a/19795855/1858225
less
bisa melakukan ini. Terima kasih :)Lihat ini dan ini .
Pada dasarnya, opsi Anda adalah:
sumber
Ya, Vim dapat membuka file yang sangat besar. Tetapi, untuk menghemat ingatan beberapa hal yang mungkin harus Anda ingat sebelum melakukannya:
Mungkin ada satu atau dua opsi yang saya lewatkan, tetapi ini sejauh ini di _vimrc saya.
sumber