在 Windows 下设置 Emacs 的 home 目录
文章目录
总的来说,Emacs 的默认配置文件放在变量 HOME 所指的路径下,所以,只要我们把 .emacs 扔到 HOME 所指向的目录就可以了,下面就简单介绍一下在 Windows 下设置 home 目录的几种方法,并进行简单的对比。
第一种方法,改变 home 环境变量的值。
这种方法,改变了 $home 变量,也会影响 Cygwin 或是其他一些应用程序,因为有一些程序会根据 Windows 的 home 环境变量来寻找数据存放的路径。
第二种方法,不改变 Windows 默认的 home 值,设置默认的 .emacs 文件读取你自己的 Emacs 配置文件,并重新设定 Emacs 的 home 目录。
你可以在 Emacs 中输入 C-x C-f,然后打开路径~(即当前的 home 环境变量所指的路径,一般来说是这样的路径:C:/Documents and Settings/water/Application Data)。
看看显示的是哪个目录,如果此目录下没有 .emacs,可以创建一个 .emacs 或 _emacs,然后在这个 .emacs 文件里,加入如下语句:
(load-file "E:/water/.emacs")
文件 E:/water/.emacs 才是我们真正的 Emacs 配置文件,我们可以在这个真正的配置文件里用如下语句设置我们的 home 目录:
(setenv "HOME" "E:/water") (setenv "PATH" "E:/water") ;;set the default file path (setq default-directory "~/") (add-to-list 'load-path "~/emacs/site-lisp")
这个方法的优点是比较简单同样也方便对 .emacs 文件备份,不会对其它应用程序产生任何影响。
第三种方法,修改注册表,在注册表中进行如下设置:
HKEY_LOCAL_MACHINE\SOFTWARE\GNU\Emacs\HOME=%emacs_dir%
以上三种方法都可以设置好 Emacs 的 Home 目录,但是,系统是按什么顺序来解析它们的呢?大体上的顺序是这样的:
- 如果设置了环境变量 HOME,则使用 HOME 指定的目录。
- 如果设置了注册表里的值 HKCU\SOFTWARE\GNU\Emacs\HOME,则使用这个值所指定的目录作为 home 目录。并不是太推荐使用这种方法,因为会导致用户共享一个 home 目录。
- 如果 C:.emacs 文件存在,则使用 C:.emacs 这个文件。这个是为了向低版本的 Emacs 兼容,因为低版本的 Emacs 就是默认用这个文件作为配置文件。
- 把用户的 AppData 目录作为 home 目录(通常来说,就是类似这样的目录 C:/Documents and Settings/water/Application Data ),这个用户的数据目录根据 Windows 版本的不同而有所不同。
我个人比较喜欢用第二种方法,即简单又方便备份。
文章作者 cookwhy
上次更新 2009-08-17