如何将启动目录作为参数传递给emacs
比如说,我在Windows上安装了emacs。我想做的是从cmd运行emacs,并将我的启动目录作为emacs中的默认目录 我已经将emacs dir放入我的PATH变量中,因此我可以从cmd中的任何位置执行“runemacs”。但是emacs中的默认目录不等于emacs的启动目录。C-x C-f仍然将我指向“C:\emacs”,而“C:\emacs”是在emacs配置中指定的 (setq默认目录“C:/emacs”)如何将启动目录作为参数传递给emacs,emacs,batch-file,Emacs,Batch File,比如说,我在Windows上安装了emacs。我想做的是从cmd运行emacs,并将我的启动目录作为emacs中的默认目录 我已经将emacs dir放入我的PATH变量中,因此我可以从cmd中的任何位置执行“runemacs”。但是emacs中的默认目录不等于emacs的启动目录。C-x C-f仍然将我指向“C:\emacs”,而“C:\emacs”是在emacs配置中指定的 (setq默认目录“C:/emacs”) 如何使默认目录指向启动目录?您可以这样做: (add-to-list 'c
如何使默认目录指向启动目录?您可以这样做:
(add-to-list
'command-switch-alist
'("-cwd" . (lambda (x) (setq default-directory (or x (getenv "PWD"))))))
在.emacs文件中,为emacs-cwd
创建别名,或者,如果我理解正确,在Windows上它将是runemacs-cwd
。还有,iirc,在Windows上是CWD,不是PWD。这段代码的意思是:
- 添加一个函数来处理Emacs的自定义参数,即
-cwd
- 触发时,获取环境当前工作目录的值,并将
默认目录设置为任何目录
- 您可以这样做:
(add-to-list
'command-switch-alist
'("-cwd" . (lambda (x) (setq default-directory (or x (getenv "PWD"))))))
在.emacs文件中,为emacs-cwd
创建别名,或者,如果我理解正确,在Windows上它将是runemacs-cwd
。还有,iirc,在Windows上是CWD,不是PWD。这段代码的意思是:
- 添加一个函数来处理Emacs的自定义参数,即
-cwd
- 触发时,获取环境当前工作目录的值,并将
默认目录设置为任何目录
(setq默认目录“C:/emacs”)
,它不正是你所要求的吗?如果从配置中删除行(setq默认目录“C:/emacs”)
,它不正是你所要求的吗?奇怪,它在这里不这样做。如果运行emacs-Q
,会怎么样?奇怪的是,它在这里没有这样做。如果运行emacs-Q
,会怎么样?