Apakah ada editor yang dapat mengedit file teks multi-gigabyte, mungkin hanya dengan memuat sebagian kecil ke dalam memori sekaligus? Sepertinya Vim tidak bisa mengatasinya = (
vim
text
text-editor
Philip Brocoum
sumber
sumber
Jawaban:
Jika Anda berada di * nix (dan dengan asumsi Anda harus memodifikasi hanya bagian file (dan jarang)), Anda dapat membagi file (menggunakan
split
perintah), mengedit mereka secara individu (menggunakanawk
,sed
, atau yang serupa) dan menggabungkannya setelah Anda selesai.sumber
Ctrl-C akan menghentikan pemuatan file. Jika filenya cukup kecil, Anda mungkin beruntung telah memuat semua konten dan mematikan semua langkah pemuatan pos. Verifikasi bahwa seluruh file telah dimuat saat menggunakan tip ini.
Vim dapat menangani file besar dengan cukup baik. Saya baru saja mengedit file 3.4GB, menghapus baris, dll. Tiga hal yang perlu diingat:
:115355
akan membawa Anda langsung ke baris 115355, yang jauh lebih cepat terjadi pada file-file besar itu. Vim tampaknya mulai memindai dari awal setiap kali memuat buffer baris, dan menahan Ctrl-F untuk memindai melalui file tampaknya menjadi sangat lambat di dekat bagian akhirnya.Catatan - Jika instance Vim Anda hanya-baca karena Anda menekan Ctrl-C, mungkin Vim tidak memuat seluruh file ke dalam buffer. Jika itu terjadi, menyimpannya hanya akan menyimpan apa yang ada di buffer, bukan seluruh file . Anda dapat dengan cepat memeriksa dengan
G
sampai lompat ke akhir untuk memastikan semua baris di file Anda ada di sana.sumber
Mungkin plugin yang menyebabkannya tersedak. (penyorotan sintaks, lipatan, dll.)
Anda dapat menjalankan vim tanpa plugin.
Ini minimalis tetapi setidaknya akan memberi Anda gerakan vi yang biasa Anda lakukan.
adalah satu lagi yang jelas. Pangkas penginstalan Anda dan dapatkan sumber yang Anda butuhkan. Anda akan mengetahui kemampuannya dan apakah Anda perlu menyelesaikan tugas melalui cara lain.
sumber
Sedikit perbaikan pada jawaban yang diberikan oleh @Al pachio dengan solusi split + vim Anda dapat membaca file dengan glob, secara efektif menggunakan potongan file sebagai buffer misalnya
sumber
Anda mungkin ingin memeriksa plugin VIM ini yang menonaktifkan fitur vim tertentu demi kecepatan saat memuat file besar.
sumber
Saya sudah mencoba melakukan itu, kebanyakan dengan file sekitar 1 GB ketika saya perlu membuat sedikit perubahan pada SQL dump. Saya menggunakan Windows, yang membuatnya sangat sakit. Sangat sulit.
Pertanyaan yang jelas adalah "mengapa Anda perlu?" Saya dapat memberitahu Anda dari pengalaman harus mencoba ini lebih dari sekali, Anda mungkin benar - benar ingin mencoba mencari cara lain.
Jadi, bagaimana Anda melakukannya? Ada beberapa cara saya melakukannya. Terkadang saya bisa mendapatkan vim atau nano untuk membuka file, dan saya bisa menggunakannya. Itu rasa sakit yang sangat berat, tetapi berhasil.
Ketika itu tidak berhasil (seperti dalam kasus Anda), Anda hanya memiliki beberapa opsi. Anda dapat menulis program kecil untuk membuat perubahan yang Anda butuhkan (misalnya, mencari & mengganti). Anda dapat menggunakan program baris perintah yang mungkin dapat melakukannya (mungkin dapat dilakukan dengan sed / awk / grep / etc?)
Jika itu tidak berfungsi, Anda selalu dapat membagi file menjadi beberapa bagian (seperti split menjadi pilihan yang jelas, tetapi Anda dapat menggunakan head / tail untuk mendapatkan bagian yang Anda inginkan) dan kemudian mengedit bagian yang membutuhkannya, dan bergabung kembali nanti.
Percayalah, coba cari cara lain.
sumber
Saya pikir itu cukup umum untuk editor hex untuk menangani file besar. Di Windows, saya menggunakan HxD , yang mengklaim dapat menangani file hingga 8 EB (8 miliar gigabyte).
sumber
hexedit
Saya menggunakan vim 7.3.3 pada Win7 x64 dengan plugin LargeFile oleh Charles Campbell untuk menangani file teks biasa multi-gigabyte. Ini bekerja dengan sangat baik.
Saya harap Anda datang dengan benar.
sumber
Wow, tidak pernah berhasil membuat vim tersedak, bahkan dengan satu atau dua GB. Saya pernah mendengar bahwa UltraEdit (di Windows) dan BBEdit (di Mac) bahkan lebih cocok untuk file yang lebih besar, tetapi saya tidak memiliki pengalaman pribadi.
sumber
Di masa lalu saya membuka hingga file 3 pertunjukan dengan alat ini http://csved.sjfrancke.nl/
sumber
Secara pribadi, saya suka UltraEdit . Inilah permainan kecil mereka pada file besar .
sumber
Saya telah menggunakan editor / viewer bawaan FAR Commander untuk file log super besar.
sumber
Saya telah menggunakan TextPad untuk file log besar yang tidak memiliki batas atas.
sumber
Satu-satunya hal yang dapat saya gunakan untuk sesuatu seperti itu adalah editor hex Mac favorit saya, 0XED. Namun, itu dengan file yang saya anggap besar, yaitu puluhan megabyte. Saya tidak yakin seberapa jauh itu akan berjalan. Saya cukup yakin itu hanya memuat bagian file ke dalam memori sekaligus.
sumber
Di masa lalu saya telah berhasil menggunakan pendekatan split / edit / join ketika file menjadi sangat besar. Agar ini bekerja, Anda harus tahu tentang di mana teks yang akan diedit, di file aslinya.
sumber