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

Windows 7 Windows 7中的主目录和.emacs文件,windows-7,emacs,installation,Windows 7,Emacs,Installation,我在c:/emacs-23.3中安装了emacs 23.3.1。 按照中的提示,我更新了site-start.el以设置HOME环境变量 (setenv "HOME" "c:/users/USER/emacs") 我使用c:/users/USER/.emacs(就像我在unix/mac中所做的那样)来编写使用slime的代码,但它似乎没有正确启动slime 这是在Windows7中设置emacs的正确方法吗?.emacs文件放在哪里?您需要在计算机设置的环境变量中设置HOME(如果我没记错的话

我在c:/emacs-23.3中安装了emacs 23.3.1。 按照中的提示,我更新了site-start.el以设置HOME环境变量

(setenv "HOME" "c:/users/USER/emacs")
我使用c:/users/USER/.emacs(就像我在unix/mac中所做的那样)来编写使用slime的代码,但它似乎没有正确启动slime


这是在Windows7中设置emacs的正确方法吗?.emacs文件放在哪里?

您需要在计算机设置的环境变量中设置
HOME
(如果我没记错的话),或者将init文件放在默认目录中(只需启动emacs,然后按
C-x C-f~/
查看实际目录)。
我记得,在Windows上,init文件可以在主目录中被称为
\u emacs
..

。emacs.d是自动创建的,您可以将init.el作为启动文件。另请参阅此项。

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

我将emacs作为便携式应用程序运行,这对我来说非常有用:

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

C:\Dropbox\PortableApps\emacs-24.3\run_emacs_portable.bat
然后,编辑文件并将此文本放入其中:

set HOME=.\
bin\runemacs.exe %*
现在,我只是通过
run\u emacs\u portable.bat
文件启动emacs,我的主文件夹总是指向我的emacs安装文件夹


%*允许您将参数传递到.bat文件,并将其转发到runemacs.exe,以便在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")))))

在Windows上,Emacs启动时定义了一些属性,在Windows系统上右键单击可执行文件时可以找到这些属性。在这里,您可以定义

  • 执行目录,例如“C:\Users\loggedin\u user\”(在论文中)

  • emacs执行的位置

  • 并查找.xemacs(.emacs)目录,在那里可以找到它的init.el

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


  • 如果进行配置,下次emacs从您定义的目录开始,使用初始化文件

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

    我喜欢ааааааааааааааааа

    这就是我最终的工作

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

    我已经捕捉到了一些关于:emacs的讨论。我决定在目录中使用cmd提示符进行重命名,
    ren\u emacs.emacs
    。更改HOME变量可能会影响安装的所有其他应用程序,因此这似乎不是一个好的解决方案。据我所知,没有预先存在的HOME变量。我几天前刚刚做了这个,看起来还可以。你应该在
    runemacs.exe
    之后添加
    %*
    来转发参数,并且能够
    使用便携式Emacs打开。谢谢,我添加了你的建议!好主意。我正在考虑制作一个.bat文件,将HOME=。。。添加到系统中,这样我就可以在执行.bat后在所有系统上使用标准的.exe。我试过setx-m,但似乎效果不太好。你有什么线索可以让它工作吗?@EivindDahl当.bat文件运行
    set HOME=.\
    时,它只是在更改该shell实例的环境变量。如果双击批处理文件,则会运行一个新的shell(cmd.exe),它的
    HOME
    值会更改,然后shell会关闭。这就是为什么此解决方案具有调用
    set HOME=。\
    与调用
    runemacs.exe
    在同一个.bat文件中进行。当从.bat文件中执行
    runemacs.exe
    时,运行shell的
    HOME
    值为
    \