在Windows 7中的主目录和.emacs文件

19

我在c:/emacs-23.3安装了emacs 23.3.1。 根据这个页面的提示,我更新了site-start.el以设置HOME环境变量。

(setenv "HOME" "c:/users/USER/emacs")

我像在Unix/Mac中一样,创建了c:/users/USER/.emacs文件来编写使用Slime的代码,但似乎无法正确启动Slime。

这是在Windows 7上设置Emacs的正确方法吗?我应该把 .emacs 文件放在哪里?

8个回答

25
你需要在计算机设置中设置环境变量HOME(如果我没记错的话),或将初始文件放置在默认目录中(只需启动Emacs,然后按C-x C-f ~/查看实际目录)。 而且据我所知,在 Windows 上,初始文件可以称为_emacs...

我已经听到关于_emacs的一些讨论。我决定在目录中从cmd提示符重命名,使用ren _emacs .emacs - Brady Trainor
6
更改HOME变量可能会影响所有其他安装的应用程序,因此这似乎不是一个好的解决方案。 - BartoszKP
1
据我所知,之前没有预设的HOME变量。我几天前刚刚做了这个,看起来没问题。 - Marcus Gladir

15

我正在使用便携式应用程序运行emacs,这对我非常有效:

在emacs目录的根目录中创建一个批处理文件。例如,我创建了:

C:\Dropbox\PortableApps\emacs-24.3\run_emacs_portable.bat

然后,编辑该文件并将此文本放入其中:

set HOME=.\
bin\runemacs.exe %*

现在,我只需通过run_emacs_portable.bat文件启动emacs,而我的HOME文件夹始终指向我的emacs安装文件夹。

%*允许您将参数传递给.bat文件,并将它们转发到runemacs.exe。


2
你应该在 runemacs.exe 后面添加 %* 以转发参数,并能够使用便携式 Emacs 进行“打开方式”。 - user
谢谢,我加入了你的建议!太棒了。 - Matt Klein
我在考虑制作一个 .bat 文件,将 HOME=.\ 添加到系统中,这样在执行 .bat 后,我就可以在所有系统上使用标准的 .exe。我尝试过 setx -m,但似乎效果不佳。你有什么办法让它正常工作吗? - Eivind Dahl
1
@EivindDahl 当.bat文件运行set HOME=.\ 时,它仅更改该shell实例的环境变量。如果您双击批处理文件,则会运行一个新的shell(cmd.exe),它的“HOME”值会更改,然后关闭该shell。这就是为什么此解决方案具有在与runemacs.exe的调用相同的.bat文件中发生set HOME=.\ 调用的原因。当从.bat文件内部执行runemacs.exe时,正在运行的shell的“HOME”值为.\ - Matt Klein

1

我喜欢Роман Захаров的答案,它似乎适用于维护跨平台配置,但它没有起作用。

这是最终对我有用的内容。

(when (eq system-type 'windows-nt)
  (setenv "Home" (getenv "UserProfile")))

1

在主目录下 .emacs.d 目录会自动创建,您可以将 init.el 文件作为启动文件。同时,您也可以参考这个 question


1

如果您希望在Windows用户文件夹(C:\ Users \ User \ .emacs.d)中设置Emacs主目录,请将此代码添加到当前的init文件中并重新启动Emacs。

(when (eq system-type 'windows-nt)
  (unless (getenv "Home")
    (shell-command (format "setx \"%s\" \"%s\"" 'Home (getenv "UserProfile")))))

0
在Windows上,Emacs是通过一些属性定义启动的,当您右键单击Windows系统上的可执行文件时会发现。在那里,您可以定义:
  1. 执行目录,例如“C:\ Users \ loggedin_user \”(括号内)

  2. Emacs执行的位置

  3. 以及查找.xemacs(.emacs)目录的位置,其中它找到其init.el。

  4. 您可以在其中定义启动指令(例如(setenv“HOME”“c:/ Users / Username /”))等。

如果您进行了配置,则下一次,Emacs将从您定义的目录启动,并使用初始化文件。

0
如果您想使用c:/users/USER/.emacs,您应该将HOME变量设置为c:/users/USER,而不是c:/users/USER/emacs。

0

你可以启动emacs,输入M-x pwd,这将显示你在Windows文件树中的位置。你可以把你的.emacs文件放在那里。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接