2011-04-15 22 views
10

Emacs 'init.el'ime daha fazla eklenti ve yapılandırma ekledikçe, başlatma daha yavaş oluyor. Bundan kaçınmak için herhangi bir yol var mı?Özelleştirilmiş emacs'ım nasıl daha hızlı yüklenir?

+2

Mümkün iki kopyasını [Emacs'i nasıl daha hızlı başlatabilirim?] (Http://stackoverflow.com/questions/778716/how- can-i-make-emacs-start-up-hızlı) –

cevap

19

Sizin .emacs veya init.el çoğunlukla autoload olmalı, birçok require veya load komutları olmamalıdır olabilir. autoload işlevi, Emacs'e “bu işleve ihtiyacınız olursa, dosyayı yükler” işlevini verir. Bu şekilde, dosya yalnızca işlevi gerçekten kullandığınızda yüklenir. Sadece (çok nadiren load ya) iki olguda require gerekir: hemen yürürlüğe (örn (require 'cl), bir renk teması) gitmesi gereken bir özelleştirme varsa

  • ;
  • sen gibi şeyler için autoload arayarak, zaten bu işin yoksa ne yüklüyoruz bir paketin autoloads ve diğer başlangıç ​​tanımlarını içeren bir küçük dosya (örn (require 'tex-site).

ise moduna özgü özelleştirmeler başlatma sürenizi önemli ölçüde azaltabilir, çünkü Emacs daha az dosya yüklemelidir.

Ayrıca, dosyalarınızın byte-compiled olduğundan emin olun, biraz daha hızlı yüklenirler (daha az CPU zamanı). Her .el dosyasında M-x emacs-lisp-byte-compile veya M-x byte-recompile-directory (bu komutlar Emacs-L'dir. isp menüsü).

Son olarak, yükleme sürelerinin önemli olmadığını unutmayın, çünkü starting Emacs at most once per session olmalıdır. Bir pencere veya arka planda --daemon seçeneğiyle oturum açtığınızda, Emacs'i otomatik olarak başlatın. Ardından, bir dosyayı düzenlemek için emacsclient'u çalıştırın. Ayrıca, oturum açtığınızda başlatmak istemiyorsanız, tell emacsclient to start Emacs if it's not running yet da olabilirsiniz.

+1

Daemon modu ve editör renkleri ile ilgili sorunları olan insanlar için, bu çok yararlıdır: http://www.emacswiki.org/emacs/SettingFrameColorsForEmacsClient – dermatthias

+0

Her dizini ve/veya dosyayı onaylamayı sevmiyorsanız: '(byte -recompile-directory "~/nerede-i-put-my-paketleri /" nil nil) 'veya son sıfır değerini, yeniden derlenmeyi zorlamak için sıfır olmayan bir şeyle değiştirin. '(bet-function 'byte-recompile-directory)' kayalar :) – clintm

2

Sen compile it bir .elc dosyası (M-x bayt-derleme-dosyası) olarak

+0

[48.4 Emacs Başlatma Dosyası] 'dan (http://www.gnu.org/software/emacs/manual/html_node/emacs/Init-File.html# Init-File): * "Init dosyanızı derleme islemi tavsiye edilmez ... Init dosyaniz pek çok fonksiyonu tanimlarsa, init dosyanizda yüklediginiz ayrintili (byte-compiled) bir dosyaya takilmayı göz önünde bulundurun." * – DavidRR

+0

... Yani, Emacs başlatma dosyasının bir bayt derlenmiş sürümü otomatik olarak korumak için önerilen mekanizmalar vardır dedi. Örneğin, bkz. [Here] (http://stackoverflow.com/a/779145/1497596) ve [here] (http://stackoverflow.com/a/780735/1497596). – DavidRR

İlgili konular