0

たとえば、Windows に emacs があるとします。私がやりたいのは、cmdからemacsを実行し、スタートアップディレクトリをemacsのデフォルトディレクトリにすることです。

既に emacs dir を PATH 変数に入れているので、cmd のどこからでも「runemacs」を実行できます。しかし、emacs のデフォルト ディレクトリは、emacs の起動ディレクトリと同じではありません。Cx Cf はまだ 'c:\emacs' を指していますが、これは emacs 構成 (setq default-directory "C:/emacs") で指定されています。

デフォルトのディレクトリが起動ディレクトリを指すようにするにはどうすればよいですか?

4

2 に答える 2

5

次のようなことができます。

(add-to-list
 'command-switch-alist
 '("-cwd" . (lambda (x) (setq default-directory (or x (getenv "PWD"))))))

あなたの .emacs ファイルで、 のエイリアスを作成しますemacs -cwd。または、それが正しいと理解できれば、Windows ではrunemacs -cwd. また、iirc、Windows では PWD ではなく CWD です。さて、このコードの意味は次のとおりです。

  • カスタム引数を処理する関数を Emacs に追加します-cwd
  • トリガーされると、環境の現在の作業ディレクトリの値を取得し、default-directoryそれが何であれ設定します。
于 2012-12-02T19:22:04.353 に答える
0

構成から行を削除すると、(setq default-directory "C:/emacs")まさにあなたが求めていることを行いませんか?

于 2012-12-03T06:04:53.883 に答える