Vim'i büyük bir dosyayı etkili bir şekilde açmak için kullanabilir miyim?


17

Bazen birkaç GB günlük dosyasını açmam gerekiyor, şimdi uygun parçayı almak için kuyruk kullanmam gerekiyor ama bu çok sıkıcı.

Vim'i doğrudan açmak için kullanabilir miyim? Şu anda vim büyük bir dosyayı açarken çok fazla bellek kaplayacak ... Sadece neden gerekli olduğunu merak ediyorsunuz? Bazı seçenekler varsa bu belleğin yüklenmesini önleyebilir mi?

Yanıtlar:


13

Sadece bir dosyaya bakmak istiyorsanız, daha az kullanın .

Dosyanın belirli bir bölümünü kesmeniz gerekiyorsa, bunu yapın ( daha az içinde ):

  1. İlgilendiğiniz ilk sayfaya gidin

  2. Tuşlara basın mve a- bunun anlamı: a konumunu işaretleyin .

  3. İlgilendiğiniz dosyanın son konumuna gidin

  4. Tuşlara |(boru) basın ve a- bu şu anlama gelir: buradaki her şeyi borulayın ve a'yı bir komuta yerleştirin

  5. Verilerin gönderilmesini istediğiniz komutu yazın. Bu verileri editör arabelleğine kopyalamak istiyorsanız, sadece vim -komut olarak kullanın (dosya adı olarak eksi işareti, düzenlenecek dosyanın stdin'den okunacağı anlamına gelir ).

Dosyanın sonuna kadar belirli bir konumdan tüm verilere ihtiyacınız olacağını biliyorsanız, bunu da yapabilirsiniz:

  1. İlgilendiğiniz ilk sayfaya gidin

  2. Tuşlara |(boru) basın ve $- bu şu anlama gelir: burada ve dosyanın sonu arasındaki her şeyi bir komuta borulayın

  3. Verilerin gönderilmesini istediğiniz komutu yazın (örn. cat >/tmp/myfileVeya vim -).


1
Bunu lessyapabileceğini bilmiyordum . Teşekkürler :)
icedwater

4

Check out bu ve bu .

Temel olarak seçenekleriniz:

  1. Vim Large File betiğini deneyin. Büyük dosyaları düzenlerken Vim'in yanıt verme yeteneğini artırmak için belirli özellikleri devre dışı bırakır.
  2. Dosyayı daha küçük parçalara bölün, önem verdiğiniz parçayı düzenleyin ve birleştirin.

3

Evet, Vim çok büyük dosyalar açabilir . Ancak, bazı şeyleri hafızadan korumak için, bunu yapmadan önce aklınızda bulundurmanız gerekir:

  • Dosya türünü yoksay (sözdizimi vurgulama vb. yok), ancak tüm olasılıklarda günlük dosyaları için sözdizimi vurgulama olmaz, ancak yalnızca bunlardan geçmeye başlamadığından emin olmak için
  • noswapfile (kesinlikle bu boyutta bir dosyanın kopyasını istemezsiniz)
  • bufhidden = unload (başka bir dosya görüntülendiğinde belleği kaydet)
  • buftype = nowritefile (salt okunur)
  • undolevels = -1 (geri alınamaz)

Belki kaçırdığım bir ya da iki seçenek var, ama bunlar şimdiye kadar benim _vimrc.


(1) büyük bir dosya açıldığında bu seçeneklerden birkaçını otomatik olarak açmak için bir eklenti ( vim.org/scripts/script.php?script_id=1506 ) ve bu programla bile (2) boyutu birkaç GB daha hala sorunlu olabilir, bu yüzden burada "Ctrl-C" ipucu
Kyle Strand
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.