我在Windows下运行emacs 25.1。它是一个独立的二进制文件,不在cygwin下运行
我有一个适用于Windows和Linux的.emacs文件。但是,在Windows上,命令为:
(cd“c:/ Users / xxx / git”)
不会在该目录中启动emacs。该命令有效,因为如果我评估缓冲区,它会转到该目录。就好像在我的脚本之后执行了其他操作,导致emacs默认为愚蠢的Windows默认设置,无论代码在哪里。
使emacs在我想要的目录中启动的任何解决方法?
答案 0 :(得分:1)
创建Emacs可执行文件的Windows快捷方式,并使用它来启动Emacs。通过右键单击文件夹runemacs.exe
中的文件bin
并选择创建快捷方式来创建快捷方式。
然后在快捷方式标签中填写属性:
字段目标具有启动Emacs的命令:二进制文件的位置和名称(可执行文件),后跟您想要的任何选项以及您要开始编辑的任何文件或目录。
字段开始包含我希望Emacs启动的目录。
例如:
目标: D:\Emacs-25.1\bin\runemacs.exe --debug-init "d:\usr\some-user-name\some-directory"
开始于: d:\usr\some-user-name\some-directory
然后只需双击快捷方式即可启动Emacs。或者,如果您将其固定到任务栏,则单击它。
您可以根据需要创建任意数量的此类快捷方式,可以创建相同的Emacs可执行文件(例如,使用不同的选项或启动目录),也可以创建不同的可执行文件(例如,不同的Emacs版本)。
答案 1 :(得分:1)
尝试使用emacs-startup-hook
,它在处理命令行和init.el之后运行。
(defun jpk/emacs-startup-hook ()
(cd "/some/path"))
(add-hook 'emacs-startup-hook #'jpk/emacs-startup-hook)
如果这不起作用,某些软件包正在设置CWD,您必须对其进行跟踪。