7

私はよく、次の一般的な emacs ビルドに出くわします。

現在、カスタム構成を実行していますが、現在の~/.emacs.d.

現在のインストールの背景は次のとおりです。

Homebrew 経由で Emacs をインストールしたので、ここにあります:/usr/local/Cellar/emacs/HEAD/Emacs.app 私の現在の emacs のバージョンは: GNU Emacs 24.3.50.1 (i386-apple-darwin13.0.0, NS apple-appkit-1265.00)

基本的に、私が知りたいことは次のとおりです。

  1. これらのビルドと現在のカスタム構成を切り替える最も簡単な方法は何ですか?

  2. 私の現在のセットアップを考えると、それぞれの構成/バッファを使用して、複数の emacs セッションを開始することは可能ですか?

4

3 に答える 3

10

(編集:このアプローチをEmacsWikiに追加したシェル スクリプトにまとめました。)

$HOME環境変数を使用する傾向があります。

  1. 最初に、「ディストリビューション」(より適切な用語が必要なため) を、そのディストリビューション.emacs.dの代わりとして機能するディレクトリのサブディレクトリにコピーします。$HOMEすなわち/path/to/(distribution)/.emacs.d

    $ git clone https://github.com/bbatsov/prelude.git ~/emacs/prelude/.emacs.d
    $ git clone https://github.com/overtone/emacs-live.git ~/emacs/emacs-live/.emacs.d
    
  2. 次に、そのコマンドの環境変数をローカルenvに設定するために使用して emacs を開始できます。HOME

    $ env HOME=$HOME/emacs/prelude emacs
    $ env HOME=$HOME/emacs/emacs-live emacs
    

それらは相互に作用してはならないため、それらを一緒に実行して、それぞれが異なる構成を使用する複数の横並びの emacs インスタンスを持つことができます。

グラフェンは実際には ELPA パッケージであるため、init.elファイルがなく、パッケージ マネージャーを介してインストールする必要があることがわかりました。~/emacs/graphene/.emacs.d/init.elただし、同じ手法を使用して別のクリーンな構成でインストールすることもできます。他のディレクトリ構造と同様のディレクトリ構造を作成し、グラフェンのインストール手順のコードを含むinit.el ファイル (例: ) を作成し、emacs を実行します (例env HOME=$HOME/emacs/graphene emacs)、残りのインストール手順を完了します。

この手法の欠点は、Emacs が他のすべてのドット ファイルを認識しないことです ( $HOME. しかし、実験するだけであれば、それは大きな問題になる可能性は低く、必要なビットをいつでもシンボリックリンクまたはコピーできます。

あなたはそれを好むかもしれません - 利点は、試用しているディストリビューションの何かがホームディレクトリにファイルを書き込む場合、実際のファイルを壊すことはないということです.

これは、Emacs を新しいリリースにアップグレードするときにも役立つ可能性があります (古いバージョンと新しいバージョンの両方を並べて実行できる場合)。すべてが機能していると確信しており、既存の構成を壊すリスクなしに新しい構成を編集できます。または、それを裏返して、バックアップとして必要な場合に備えて、元の構成を新しい/代替の場所に保持します。

于 2014-02-05T05:38:43.540 に答える