Vim neden büyük dosyaları diğer bazı metin editörlerinden daha hızlı açabilir?


10

Büyük günlük dosyalarını açarken ( o kadar büyük değil , ama 80mb hala çok fazla metin!), Vim'i her zaman kullandığım için kullandım. Notepad, Notepad ++, vb. Gibi diğer metin editörlerinin dosyayı işlemesi ve yüklemesi> 10 saniye sürer. Bunun nedeni nedir? Vim'i bu kadar hızlı yapan nedir?


8
Sözdizimi vurgulamayı açın ve vimin ne kadar yavaş olabileceğine şaşırın
Marco

11
Yakın seçmen için: Bu soru iddia ediyorum olduğu yapıcı - cevap işaret olarak, teknikler diğer bazı editörler daha büyük dosyalarla daha verimli hale Vim kullanır vardır. Bu somut bir cevap, gerçekler / referanslar tarafından desteklenebilir. Ve insanların bunu neden yerelleştirebileceğinden emin değilim; editörlerin küçük bir coğrafi alandan, belirli bir andan veya olağanüstü dar bir durumdan çok daha fazlasını etkileyen dosyaları işleme biçiminde belirgin bir fark vardır .
Bob

1
@Bob - Bu sorunun cevabının herhangi bir sorunu nasıl çözdüğünü göremiyorum.
Nifle

Yanıtlar:


16

Editörlerin büyük dosyalarla uğraşmayı optimize etmek için kullanabileceği çok sayıda püf noktası var.

Birincisi sadece ihtiyaçları olan şeylerle çalışmaktır. Vasıta yoktur çizgi sayma, genişlik ölçümleri, kelime sarma, dizim, XML doğrulama, HTML işleme, Geri Al, vb gibi şeyler için tüm dosyayı ayrıştırmak çalışmıyorum O büyükdosya Eklenti Vim'ın bir dizi özellik devre dışı bırakacaktır Vim için kullanılabilir "büyük" (kullanıcı tarafından tanımlandığı gibi) bir dosya açıldığında. Büyük dosyalar daha hızlı yükleme Vim'ın wiki sayfa özürlü bazı özellikleri bahseder: moduna salt okunur (dizim / çözümleme için) filetype, devre dışı geri al, anahtarı görmezden. Başka değişiklikler de var, ancak belleğin hızdan ziyade korunmasına yönelik gibi görünüyorlar.

Bir diğeri bellek haritalamasıdır. Dosyanın tamamını belleğe okumak yerine, temel işletim sistemine dosyanın bir görünümünü doğrudan işlemlerin bellek alanına eşlemesini söyleyin. Özellikle Vim'in bunu yapıp yapmadığından emin değilim, ancak diğer editörler yapabilir ve yapabilir.

Bunlar muhtemelen en büyük 2, ama kesinlikle daha fazlası var.


Bu tekniklerden herhangi birini kullanarak vim referansınız var mı?
slhck

Özellikle bellek haritalaması hakkında yorum yapamam, ama ilk kesinlikle yapılabilir. Yakında düzenlenecek.
afrazier

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.