2011-09-08 50 views
2

我的工作在Windows XP上变化.emacs文件的位置

我的emacs存储在USB

我想携带.emacs文件以及二进制文件

是我的尝试是

(setenv “HOME” (format "%s" (getenv "emacspath"))) 

(setenv “HOME” (format "%s/" (getenv "emacspath"))) 

似乎作品,如果我EVAL-表达在Emacs

后,我可以看到设置ENV是作品深受(getenv "home")

,但我将在“网站start.el”文件(setenv "home" (format "%s/" (getenv "emacspath"))) 在“网站口齿不清”的文件夹,启动Emacs说"Symbol's value as variable is void: "HOME"

任何想法?

回答

3

更简单的方法 - 只需在USB驱动器上创建一个批处理文件,您可以在其中设置所需的所有env变量。然后从批处理启动emacs.exe。

例如,如果你想运行SBCL以下行添加到您的批处理

rem SBCL_HOME is required for SBCL 
set SBCL_HOME=%utils%\Lisp\sbcl\1.0.29 
set SBCL_RUN=%SBCL_HOME%\sbcl.exe 
set SBCL_OPTIONS=--noinform 
0

如何使用default.el无论是作为一个符号或简单的elisp的品特到您的文件:

(load-file "/path/to/usb/.emacs") 
+0

不幸的是,Windows上运行与可怕的驱动器号的机制,因此,如果您把驱动器在另一个,这可能会失败港口。 – 2011-09-11 19:12:02

0

将以下代码添加到文件(例如c:/。emacs)。

;; This function must be at begin 
(defun zxy-relocate-dotemacs() 
    "Relocate .emacs file" 
    (interactive) 
    (with-temp-buffer 
    (let (print-level print-length) 
     (insert (format "(load-file \"%s\")" load-file-name)) 
     (if (file-exists-p "~/.emacs") 
      (message "[zxy] Don't need relocate .emacs file!") 
     (progn 
      (message "[zxy] Relocate .emacs file.") 
      (write-file "~/.emacs")))))) 
(zxy-relocate-dotemacs) 
;; Your configuration here 

打开emacs和M-x加载文件c:/。emacs。

然后它会将.emacs重定位到c:/。emacs。

我使用这个时,我复制我的emacs到一台新电脑。

更多信息请访问我的博客abuot emacs。 http://coordinate.sinaapp.com/?cat=3