15

同じPCの同じユーザーアカウントで、emacs-prelude、emacs-starter-kit、および独自のカスタムemacs構成などの複数のemacs構成を同時に維持したいと考えています。
そのために、.emacs1.d、.emacs2.d、.emacs3.d などのディレクトリをセットアップしました。

各 emacs ユーザー ディレクトリには、起動時にロードする必要がある init.el ファイルがあります。.emacs ファイルの代わりに、init.el ファイルを使用することを好みます。

これらのカスタム構成ディレクトリをロードするにはどうすればよいですか?

走ってみたemacs --eval '(setq user-emacs-directory "~/.emacs1.d/")'

user-emacs-directory の値を設定するだけで、そこからファイルをロードしません

4

6 に答える 6

5

コンソールから何かを呼び出したい場合は、これを .bashrc に入れます。

export emacs1=~/.emacs1.d/init.el
export emacs2=~/.emacs2.d/init.el
export emacs3=~/.emacs3.d/init.el

そして、次のように呼び出します。

emacs -q -l $emacs1
emacs -q -l $emacs2
emacs -q -l $emacs3

$ 記号の後に bash で完了を得ることさえできます。

次のようにエイリアスを作成することもできます。

alias emacs1='emacs -q -l ~/.emacs1.d/init.el'
alias emacs2='emacs -q -l ~/.emacs2.d/init.el'
alias emacs3='emacs -q -l ~/.emacs3.d/init.el'

そして、それらを次のように呼び出します。

emacs1
emacs2
emacs3

もちろん、

(setq user-emacs-directory "~/.emacs1.d/")

まだそれぞれにある必要がありますinit.el

于 2013-07-08T17:34:57.660 に答える
4

または、単一の ~/.emacs または init.el ファイルを使用して、ロードする構成ディレクトリを選択することもできます。

(defvar *emacs-prelude-enabled* t)
(defvar *emacs-starter-enabled* nil)
(defvar *other-config-enabled* nil)

(cond (*emacs-prelude-enabled* 
       (add-to-list 'load-path "~/.emacs1.d/")
       (load "~/.emacs1.d/init.el"))
      (*emacs-starter-enabled* 
       (add-to-list 'load-path "~/.emacs2.d/")
       (load "~/.emacs2.d/init.el"))
      (*other-config-enabled*
       (add-to-list 'load-path "~/.emacs3.d/")
       (load "~/.emacs3.d/init.el")))
于 2013-07-05T14:15:56.347 に答える
2
  • Emacs プロファイル用の新しいフォルダーを作成します。/home/user/.emacs.d.vanilla
  • その中に作成init.elし、次の 2 行をコピーします。これらの行は、Emacs に newinit.elをメイン構成ファイルとして扱い、そのフォルダーをメイン構成フォルダーとして扱うように指示します。
(setq user-init-file (or load-file-name (buffer-file-name)))
(setq user-emacs-directory (file-name-directory user-init-file))

次のように emacs を起動します。

emacs -q -l /home/user/.emacs.d.vanilla/init.el
  • -q- デフォルトをスキップします~/.emacs.d/init.el
  • -linit.el- Emacs に新しい init フォルダーと init ファイルの場所を伝えるスペシャルをロードします。
于 2019-06-22T14:07:25.763 に答える