Windows 7 Windows 7中的主目录和.emacs文件
我在c:/emacs-23.3中安装了emacs 23.3.1。 按照中的提示,我更新了site-start.el以设置HOME环境变量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(如果我没记错的话
(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系统上右键单击可执行文件时可以找到这些属性。在这里,您可以定义
如果进行配置,下次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
值为\
。