Emacsのデフォルトフォルダーの変更


106

私はEmacsにかなり慣れていないので、C-x C-f起動時にデフォルトのフォルダを変更する方法を見つけようとしています。たとえば、最初にEmacsをロードしC-x C-fてデフォルトのフォルダにアクセスしたときはですがC:\emacs\emacs-21.3\bin、それがデスクトップである方がいいです。.emacsこれを行うためにファイルをカスタマイズする方法はいくつかあると思いますが、それが何であるかはまだわかりません。

更新:動作することがわかった問題には3つの解決策がありますが、解決策3はWindowsのみであると思います。

  • 解決策1:ファイルに追加(cd "C:/Users/Name/Desktop")する.emacs

  • 解決策2:ファイルに追加(setq default-directory "C:/Documents and Settings/USER_NAME/Desktop/")する.emacs

  • 解決策3:Emacsのショートカットを右クリックし、プロパティをクリックして、[開始位置]フィールドを目的のディレクトリに変更します。

回答:


84

あなたはそうは言っていませんが、WindowsショートカットからEmacsを起動しているようです。

cx cfで表示されるディレクトリはcwdであり、Emacs用語ではdefault-directory(変数)です。

MS Windowsショートカットを使用してEmacsを起動すると、default-directory最初は、ショートカットプロパティの[開始]フィールドで指定されたフォルダー(ディレクトリ)になります。ショートカットを右クリックしてを選択Propertiesし、Start Inフィールドにデスクトップへのパスを入力します。

コマンドラインからEmacsを使用している場合は、Emacsをdefault-directory起動したディレクトリ(cwd)から開始します。

この方法は、.emacsファイルを編集するよりも優れています。これにより、複数の開始ディレクトリを持つ複数のショートカットを作成でき、必要に応じてEmacsの通常のコマンドライン動作を実現できます。

CWD = 現在の作業ディレクトリ = PWD = 現在の作業ディレクトリ。GUIの場合よりもコマンドラインの方がはるかに理にかなっています。


はい、WindowsでEmacsを使用しています。
アントン

5
これはMacOSでも動作します。私はこれを.emacsに追加しました: (setq default-directory (concat (getenv "HOME") "/"))
vy32

そして、そのディレクトリのDiredでEmacsを開始したい場合は、Start Inフィールドに配置することに加えて、Targetフィールドの最後の1つ以上のスペースの後に追加し、二重引用符(")で囲みます。例:"d:\path\to\the\folder"
2014年

48

.emacsに追加する必要がある行は

(setq default-directory "C:/Documents and Settings/USER NAME/Desktop/" )

Emacsは、ファイルを開いていない限り、デスクトップから起動します。それ以外の場合は、通常、現在のバッファー内のファイルと同じディレクトリで開始されます。




6

デフォルトのフォルダは実際にはバッファの現在の作業フォルダと同じです。つまり、作業するファイルごとに異なる場合があります。作業しているファイルがにあるとするとC:\dir_a、そのバッファーの作業ディレクトリーはデフォルトでになりますC:\dir_a。これを変更してM-x cd、代わりにデフォルトにしたいディレクトリを入力することができます(デフォルトでは、実行すると表示されるディレクトリを意味しますC-x C-f)。

ファイルを開かずにemacsを起動すると、*scratch*バッファが開いたままになります。emacsをWindowsショートカットから起動した場合、作業ディレクトリはショートカットのプロパティで指定されたものと同じになります。コマンドラインから起動した場合は、起動したディレクトリになります。このデフォルトのディレクトリはM-x cd*scratch*バッファからもで変更できます。

最後に、Vadimが提案するようにして、

(cd "c:/dir_a/")

あなたには.emacs、ファイル、関係なく、Emacsを起動する方法をそのディレクトリにデフォルトを作るありません。


4

Windowsを使用している場合は、ショートカットを使用して実行できます。

へのショートカットを作成しますC:\emacs\emacs-21.3\bin\runemacs.exe。ショートカットのプロパティを編集し、Start In:デフォルトのディレクトリにしたい値に変更します。


4

私はWindows XPでemacs 22.2.1を使用しており、コマンドCx Cfにしたいミニバッファーで応答を得るために上記の回答に助けられています。最初は、Antonのように「ファイルの検索:C:\ Program Files \ emacs \ bin /」を取得していました。HOMEを "C:\ Documents and settings \ USER NAME \ My Documents"に設定しています。ミニバッファーで必要なCx Cfへの応答は、「ファイルの検索:〜/」です。(setq default-directory "C:/ Documents and Settings / USER NAME / My Documents")を.emacsファイルに追加することで、「Find file:C:\ Documents and settings \ USER NAME \ My Documents」という応答を得ることができました。 / "機能的には"ファイルの検索:〜/ "と同じです。しかし、私はもう一つの点に気づきました。[オプション]の[Emacsのカスタマイズ]で、起動画面を非表示にできました。emacsを開くと、すぐにスクラッチバッファーに移動します。スクラッチバッファーにCx Cfと入力すると、必要な応答が得られます。


起動画面の禁止について言及するための+1。私のWindows 10システムでは、これが重要であることがわかりました。私は関連する質問に自分の回答を投稿しましたstackoverflow.com/a/38435697/823636
Rob_before_edits

1

ショートカット(LinuxではGnome)に空のダミーファイル名であるプラマターを追加し、ディレクトリを指定しています。私のemacsはデフォルトで「ホーム」になっているので、私は単に次のように言います。

/ Desktop / blank_file

「blank_file」というファイルを開きます

また、そのemacsセッションの現在の作業ディレクトリをデスクトップに移動します。

「blank_file」にデータを保存した場合、それを保存します。もちろん、ファイルを保存しました。どちらが煩わしいか、それとも良いことかもしれません!


1

デフォルトのディレクトリをDiredとDESKTOPでDESKTOPに変更するには、これを〜/ .emacsに入れます。

;;これはWindows XPで動作します。
(setq default-directory(concat "C:\ Documents and Settings \ MY_ACCOUNT \ DESKTOP \"))


0

Windows 8では、デスクトップにショートカットを作成し、ショートカットの「開始:」プロパティを変更します。

今、私はプログラムemacs-23.3 \ bin \ addpm.exeを推奨通りに実行し、Windows-8画面(Microsoftからの恐ろしい発明)はEmacsへのアイコンリンクを表示しました。しかし、そこで「プロパティ」を再度変更する必要があります。(デスクトップのものとは異なります)。右クリックして、下部のバーで[ファイルの場所を開く]を選択します(または同様の方法で、自分の言語で行いました)。新しいショートカットのあるフォルダーに移動します。プロパティ 'Start In:'。

少し複雑ですが、実際には非常に簡単です。


0

最も厄介なことは、ショートカットを使用しているときにWindows Emacsがsystem32にダンプすることですが、他のすべてのケースが機能するようにするには、少しelisp ...

(when(string <"C:\ WINDOWS \ system32" default-directory)(setq default-directory "〜/"))

したがって、最終的にシステムで終了するときにのみ、ホームディレクトリがデフォルトになります。唯一の欠点は、本当にsystem32でemacsを起動したい場合です...

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