如何将启动目录作为参数传递给emacs

mad*_*ree 0 emacs batch-file

比方说,我在Windows上有emacs.我想做的是从cmd运行emacs并将我的启动目录作为emacs中的默认目录.

我已将emacs目录放入我的PATH变量中,因此我可以从cmd中的任何位置执行'runemacs'.但是emacs中的默认目录不等于emacs的启动目录.Cx Cf仍指向'c:\ emacs',而后者又在emacs config中指定(setq default-directory"C:/ emacs").

如何让默认目录指向启动目录?

小智 5

你可以这样做:

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

在你的.emacs文件中,为emacs -cwdWindows 创建一个别名,或者,如果我理解它是正确的,在Windows上就可以了runemacs -cwd.另外,iirc,在Windows上它是CWD,而不是PWD.好吧,这段代码的含义是:

  • 添加一个函数来处理Emacs的自定义参数,即-cwd.
  • 触发时,获取环境当前工作目录的值并设置default-directory为它是什么.