Windowsで実行されているEmacsの.emacsファイルはどこにありますか?


115

Emacs用のWindowsインストール用の.emacsファイルを探しましたが、見つかりませんでした。WindowsでもUnixと同じファイル名ですか?

自分で作成する必要がありますか?もしそうなら、それはどの特定のディレクトリの下に行きますか?

回答:


108

Emacs FAQ http://www.gnu.org/software/emacs/windows/からコピーして貼り付けます

initファイルはどこに置くのですか?

Windowsでは、.emacsファイル_emacs名はドットで開始できないDOSおよびFATファイルシステムとの下位互換性のためにファイルが呼び出される場合があります。ファイルシステムや他のほとんどのプログラムで処理できても、Windowsエクスプローラーでドットで始まる名前のファイルを作成できないため、このような名前を使い続けることを好むユーザーもいます。Emacs 22以降では、initファイルはと呼ばれることもあります.emacs.d/init.el。Lispパッケージによって作成された他の多くのファイルも.emacs.dディレクトリに格納されるようになったため、Emacs関連のすべてのファイルが1か所に保持されます。

上記のすべてのファイルは、HOMEディレクトリに配置する必要があります。HOMEディレクトリは、次の手順に従って決定されます。

  1. 環境変数HOMEが設定されている場合は、それが示すディレクトリを使用します。
  2. レジストリエントリHKCU \ SOFTWARE \ GNU \ Emacs \ HOMEが設定されている場合は、それが示すディレクトリを使用します。
  3. レジストリエントリHKLM \ SOFTWARE \ GNU \ Emacs \ HOMEが設定されている場合は、それが示すディレクトリを使用します。ユーザーが同じHOMEディレクトリを共有することになるため、お勧めしません。
  4. C:\.emacs存在する場合は、を使用しますC:/。これは下位互換性のためC:/です。以前のバージョンでは、HOMEが設定されていなかった場合にデフォルトで設定されていました。
  5. ユーザーのAppDataディレクトリを使用します。通常、ユーザーのプロファイルディレクトリの下にあるApplication Dataと呼ばれるディレクトリです。その場所は、Windowsのバージョンと、コンピューターがドメインの一部であるかどうかによって異なります。

Emacs内で~は、ファイル名の先頭でHOMEディレクトリに展開されるため、.emacsファイルは常にで見つけることができますC-x C-f ~/.emacs

MS-WindowsのHOMEおよびスタートアップディレクトリに詳細情報があります


1
または、(ピリオドの代わりに)Cx Cf〜/ _emacsで検索する必要があるかもしれません。initにアンダースコアを使用することは、VimとEmacsの両方で一般的(かつ推奨)な方法です。
迷宮

Emacsは "_emacs"が非推奨であると不平を言っています:(
Brian Z

ありがとう。この説明は、実際にはclojureのチュートリアルに従ってemacsを適切に設定するのに役立ちました。WindowsでHOME変数を作成し、動作するようになりました。
Siniyas

上記のポイント5を参照すると、emacsが探しているディレクトリはWindows 7ではC:\ Users \ userid \ AppData \ Roamingですが、もちろん私のコンピューターはドメイン上にあります。
user8128167 2016年

Windows 10では、AppDataサフィックスを回避するために、変数HOMEを%USERPROFILE%に設定しました。
Bae

80

変数user-init-fileに保存する必要があります。C-H v user-init-file RETチェックに使用します。を使用して直接開くこともできますM-x eval-expression RET (find-file user-init-file) RET


8
これはとても役に立ちます。initファイルのマニュアルセクションに記載されていないことに驚いています。
Brian Z

なぜこれを試したら、どうしてtrailing garbage following expression
Marko Grdinic 2016年

括弧を使用しましたか?
ホセ・ロメロ

29

Emacs for Windowsで次のようなファイルを開きます。

C-x C-f ~/.emacs

Emacs Wikiの詳細情報


11
次に、[ファイル]> [ファイルを開く...]または[名前を付けて保存...]をクリックして、使い慣れたWindowsの[開く]ダイアログの〜/の場所を確認します。
Yoo

21

私のビスタボックスにはそれが入っています C:\Users\<USER>\AppData\Roaming\


1
Windows 8.1(Emacs 24)でも同じですが、例外があります。Windowsエクスプローラー、リンクまたはコマンドコンソールからEmacsを開くと、C:\ Users \ <USER> \ AppData \ Roaming \ .emacsプロファイルファイルが使用されますが、PowerShellコンソールからEmacsを開くと、EmacsはCで.emacsファイルを探します。 :\ Users \ <USER>フォルダー。
kri

これでうまくいきました。AppDataのローミングディレクトリに.emacsファイルを作成しました。Windows 10.
Retro Gamer 2018

Windows 10での
作業

6

Ctrl-x Ctrl-f ~/.emacsファイルを入力して作成するだけでは不十分な場合があることに注意してください。

Emacsアプリケーションがinitファイルを格納するために別の場所を使用している可能性があります。その場合、〜/ .emacsファイルを作成すると、Emacsアプリケーションが無視する役に立たないファイルが作成されます

また、.emacs initファイルにアクセスするだけではなく、どこにあるか、つまりパス名を知りたい場合もあります。

これを実現するには、2つの方法があります。

簡単な方法:type Ctrl+ H Vuser-init-fileReturn

少しトリッキーな方法:次の方法で、システムが独自の.emacsファイルを格納している場所を確認できます。

  1. オプションをクリックし、[デフォルトのフォントを設定...]までスクロールします
  2. フォント設定を変更してOKをクリックします
  3. オプションメニューで、[オプションを保存]に移動します
  4. オプションを保存すると、システムが.emacsファイルを保存し、Emacs画面の下部にあるミニバッファーでファイルパス読み取ることができます

回答のフォーマットについては、ドキュメントを参照してください。その非常に簡単で、より多くの評判を獲得します。
Bhavik Shah 2013

〜/ .emacs.elという名前のファイルを保存すると、で作成されましたc:/Users/user1/AppData/Roaming/.emacs.el。このサイトemacswiki.org/emacs/DotEmacsDotDは、ファイルに名前を付ける必要があることを理解するのに役立ちました。これ~/.emacs.d/init.elは、ファイルシステム内のファイルの場所を意味していましたc:\Users\user1\AppData\Roaming\.emacs.d\init.el(まったく期待したものではありませんでした)。私はHOME環境変数を設定し、ファイル%USERPROFILE%をWindowsの論理HOMEディレクトリである(少なくとも私が考える限り)ディレクトリに配置することを好みます。
PatS 2018年

4

Windows 7では、あなた置くinit.elでファイルを C:\Users\user-name\AppData\Roaming\.emacs.d\どこ、ユーザー名は、ユーザー/ログインフォルダです。

init.elファイルに名前が付けられないように注意してくださいinit.el.txt。これは、メモ帳などのエディターを使用してファイルを作成した場合、Windowsが行うことです。


4

22を超えるWindows上のEmacsのバージョンでは、移動したようです。

~/.emacs.d/init.el

~環境変数HOMEの値です(コントロールパネル→ システム詳細設定環境変数を参照)。

ファイル自体が存在しない可能性があります。その場合は作成してください。


3

emacs初期化ファイルを作成する必要があります。1つは自動的に作成されません。私にも同様の問題があり、この答えは私がしたことを追跡しています。

私の問題は、~/.emacs.elファイルが読み込まれていなかったことでした。これはいつも私のために働いていたので奇妙です。

この質問/回答は役に立ちましたが%USERPROFILE%\AppData\Roaming\.emacs.d\init.el、これは明らかにWindowsのデフォルトの動作であるため、initファイルをに入れなければなりませんでした。

これをトラブルシューティングするために、私はemacs * scratch *バッファーで以下を実行しました。

user-emacs-directory
"~/.emacs.d/"

私が見user-emacs-directoryたとき~/.emacs.d、私は単に.emacs.elファイルをに移動しました%USERPROFILE%\.emacs.d\init.el。しかし、これはまだ機能しませんでした。私はexpand-file-name以下に示すように続けました:

(expand-file-name user-emacs-directory)
"c:/Users/pats/AppData/Roaming/.emacs.d/"

Windowsの動作を気に入ってもらいました。(ではない)それで私は自分のemacs.elファイルをに移動しましたが%USERPROFILE%\AppData\Roaming\.emacs.d\init.el、これはうまくいきました。ファイルは現在読み取られていました。しかし、私の初期化ファイルが他の(個人のemacs)ファイル(~/myenv/emacs/*.el

Warning (initialization): An error occurred while loading c:/Users/pats/AppData/Roaming/.emacs.d/init.el’:

うーん... ~/myenv/emacs/*.elこれが機能するためには、すべてのファイルを移動する必要があるようですが、移動したくありませんでした。次に、HOME環境変数が設定されていないため、emacsがデフォルトの動作を実行していることがわかりました

解決

Windows HOME環境変数を設定%USERPROFILE%すると、過去25年間と同じようにすべてが機能し始めました。:-)

HOME環境変数を設定するには、WindowsKey +「アカウントの環境変数を編集」と入力して[ 環境変数 ]ダイアログボックスを開き、と入力しましたHOME=%USERPROFILE%

今、私のemacs初期化ファイル.emacs.elは正しい場所に戻っており$HOME/.emacs.el%USERPROFILE%\AppData\Roaming\.emacs.d\init.el

Windowsは、ユーザーがインストールパッケージのHOMEを作るの溶液を、ファイルを置くだけで一つの場所を持っていた場合=、公平を期すために、%USERPROFILE\AppData\Roaming許容できるかもしれませんが、いくつかのアプリケーションが使用しているので%USERPROFILE%、いくつかの使用%USERPROFILE\AppData\Roamingと他の人が使用し%USERPROFILE\AppData\Local、それはちょうどそれが難しいあなたの設定を検索する場所を知ることができますファイル。

私はすべてを%USERPROFILE%または$ HOMEディレクトリに置くことを好みます。

別の同様の質問がここにありました:


「Windowsの動作を気に入ってください。(ではない)」-この問題は、WindowsでEmacsを実行している人々に対してEmacs開発者が行ったこと以外に、Windowsとは何の関係もありません。
Chris Charabaruk

2

kanjaが答えたように、このファイルへのパスはuser-init-file変数に格納されます(または、initファイルが存在しない場合、変数には作成場所のデフォルト値が含まれます)。

したがって、使用している可能性のあるinitファイル名、およびそれがどのディレクトリにあるかに関係なく、次のコマンドでinitファイルにアクセスできます。

M-: (find-file user-init-file) RET

または、次のコマンドを使用して、エコー領域に完全なパスを表示します。

M-: (expand-file-name user-init-file) RET


2

Emacs 23とWindows 7では、以下を設定した場合にのみ機能します。

HKCU\SOFTWARE\GNU\Emacs\HOME

やっと見つけた!ありがとう!
Chris

やっと見つけた!私も!
lowerkey 2013年

「設定」とは、そのキーを(コンテンツなしで)作成することを意味しますか?
Peter Mortensen

1

私は、Emacs 22が時々 "C:\ Documents and Settings \ username \ Application Data \ .emacs"を開くか、または私のXPマシンで "C:\ Documents and Settings \ username \ .emacs"を開くことを発見しました。それが時々心を変える理由についての説明は見つかりませんでした。

〜は常にemacsの現在のインスタンスがHOMEであると考えるものは何でも指し示しますが、カンジャのヒント(Ch v user-init-file)は常に〜/ .emacsが実際にマップするものを教えてくれます。


2
HOME起動方法によって、Windowsが環境変数を異なる方法で設定することに気づきましたrunemacs.exe。エクスプローラー内から起動した場合HOMEはに設定されC:\Documents and Settings\usernameますが、スタートメニューから起動した場合HOMEC:\Documents and Settings\username\Application Dataです。奇妙な。
2010



0

Windows 8.1では、Windowsエクスプローラー、ショートカット、またはcmdコンソールからEmacsを起動すると、C:\ Users \ <USER> \ AppData \ Roaming.emacs initファイルが使用されます。PowerShellからEmacsを起動すると、EmacsはC:\ Users \ <USER>フォルダーでその初期化ファイルを探します。この問題の修正は、HOMEユーザー環境変数(コントロールパネル\システムとセキュリティ\システム->システムの詳細設定->詳細設定->環境変数)をC:\ Users \ <USER>に設定することでした。この変更後、Emacsをどのように起動しても、同じinitファイルが使用されます(この質問の承認済み回答を参照してください)


0

WIndows7&Emacs26.3の場合:


HOME環境が設定されている場合、.emacsファイルはそのフォルダーにあるはずです。

それ以外の場合はにありますc:\


どちらの場合も、ない場合.emacs_emacs使用する必要があります。

これは.emacs、Windowsのファイル命名規則に従ってファイルを作成できないためです(ただし、他の場所からダウンロードまたはコピーすることはできます)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.