2013-06-17 3 views
16

私はrunemacs --user d:\path\to\init\.emacsを試みたが、それは私が私のペンドライブなどのようにではなく、ユーザーフォルダ内の私のデフォルトの場所にあるカスタムの場所にあるカスタムファイルを意味emacsの起動時にカスタムのinitファイルを指定する方法はありますか?

Error (initialization): Invalid user name d:\path\to\init\.emacs

を与えます。私は、異なる構成の対応するinitsを持つcmdファイルを作成しようとします。

+1

「無効なユーザー名」はヒントを与えるはずです! – devnull

答えて

23

あなたの最終目標は、あなたが持ち歩くことができるUSBドライブからEmacsを走らせることだと思います。

(1)-qこれはせずにEmacsを起動

emacs -q --load path-to-your-init.el 

を実行するために、単純な方法

を--load:Emacsは別の初期化ファイルで始まり持っている2つの方法があります。 init.el

この方法では、この場合、Emacsは実際にはelファイルをinitファイルと見なしませんが、実際にはEmacsは行っていませんまったく初期化によって以下の初期化後のステップはスキップされます

  • 可能パッケージを、つまり、フックafter-init-hookを実行している(package-initialize)

  • 評価、つまり、(run-hooks after-init-hook)

あなたが追加する必要があり評価しますあなたの代替initファイルの中に初期化後のものがあります。

また、Emacsが-qオプションで起動されている場合、カスタマイズインターフェイスでは設定を保存できません。

(2)HOME道

内容と私の-emacs.batを作成します。

set HOME=%~dp0 
C:\path-to-your\Emacs\bin\runemacs.exe --xrm "emacs.Background: light green" 

あなたはそのbatファイルをクリックすると、Emacsはあなたの通常のユーザーに.emacs.dないという名前のフォルダを作成し、ディレクトリではなく、batファイルの場所です。あなた自身の​​をその.emacs.dフォルダに入れることができます。このEmacsを使って、(find-file "〜/ .emacs.d/init.el")を評価すると、通常のユーザディレクトリのinitファイルではなく、あなた自身の移植可能な​​が開きます。--xrm "emacs.Background: light green"部分を削除したいかもしれませんが、私はいつもEmacsがどの忘れているのかを忘れています。

Gotchas:このEmacsは独自の.emacs.dディレクトリにパッケージディレクトリを持っています。それはあなたが望むものかもしれません。パッケージディレクトリを共有する場合は、package-user-dirを変更するか、リンクシェル拡張を使用して共有パッケージディレクトリへのシンボリックリンクを作成します。

代USBドライブ上のEmacsを実行するために考慮すべき:

Emacsは外部ツールにその機能の一部を委託しております。 grepと比較はgrepとdiffに委託されているので、おそらくあなたのシステムには少なくともGnuWin32 GrepとGnuWin32 DiffUtilsがインストールされているはずです。スペルチェックの一部はaspellに委託されています。これは別のインストールでもあります。暗号化はGPGに委託されているので、Gpg4は別の別のインストールになります。あなたの移植可能なEmacsにこれらの機能をすべて装備させるためには、これらの外部ツールもすべてあなたのUSBドライブになければなりません。幸い、GnuWin32とaspellは移植性に優れています。私はGPGがあるかどうかわかりません。 eshell自身のgrepのみに依存するlgrepとrgrepのバージョンを作成すると、外部grepへの依存がなくなりますが、誰もそれをしていないように見えるので、lgrep/rgrepを作ることは、 。

7

コマンドラインでemacs --helpと入力すると、すべてのemacsオプションに関するヘルプが表示されます。その助けは--userがelispファイルへのパスではなく、ユーザーの名前を期待していることを示しています。あなたがロードからのデフォルトの初期化ファイルを防ぎたい場合は、このオプションを使用することができます

$ emacs --help 
... 
--load, -l FILE   load Emacs Lisp FILE using the load function 
... 

:あなたは--loadオプションを使用することができ、起動時のLispファイルをロードするために

$ emacs --help 
... 
--no-init-file, -q   load neither ~/.emacs nor default.el 
... 
関連する問題