11

emacsのinit.elにプラグインと構成を追加するにつれて、起動がますます遅くなっています。これを回避する方法はありますか?

4

2 に答える 2

19

あなたのまたはは多くのまたはコマンドを持っているべきではありません.emacs、それはほとんど持っているべきです。この関数はEmacsに「この関数が必要な場合はそのファイルをロードする」ように指示します。このように、ファイルは、実際に関数を使用する場合にのみロードされます。次の2つの場合にのみ(または非常にまれに)必要になります。init.elrequireloadautoloadautoloadrequireload

  • すぐに有効にする必要のあるカスタマイズがある場合(たとえば(require 'cl)、カラーテーマ)。
  • autoloadsロードしているものが、パッケージのおよびその他のスタートアップ定義を含む小さなファイルである場合(例: (require 'tex-site)

まだこれを行っていない場合は、autoloadモード固有のカスタマイズなどを呼び出すと、Emacsがロードする必要のあるファイルが少なくなるため、起動時間を大幅に短縮できます。

さらに、ファイルがバイトコンパイルされていることを確認してください。読み込みが少し速くなります(CPU時間は短くなります)。M-x emacs-lisp-byte-compile.elファイルを呼び出す、またはM-x byte-recompile-directory(これらのコマンドはEmacs-Lispメニューにあります)。

最後に、 Emacsはセッションごとに最大1回起動する必要があるため、ロード時間はそれほど重要ではないことに注意してください。ログイン時に、ウィンドウまたはオプションを使用してバックグラウンドでEmacsを自動的に起動し--daemonます。次に、ファイルを編集するには、を実行しますemacsclientログイン時にEmacsを起動したくない場合は、まだ実行されていない場合にEmacsを起動するように指示emacsclientすることもできます。

于 2011-04-15T21:23:54.330 に答える
2

.elcファイル(Mx byte-compile-file)としてコンパイルできます。

于 2011-04-15T21:22:25.947 に答える