2

我正在使用 windows xp

我将emacs存储在usb中

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

我尝试的是

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

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

如果我在 emacs 中评估表达式,它似乎有效

之后setenv,我可以注意到设置 env 效果很好(getenv "home")

但我把(setenv "home" (format "%s/" (getenv "emacspath"))) “site-start.el”文件放在“site-lisp”文件夹中,启动emacs说"Symbol's value as variable is void: "HOME"

有任何想法吗?

4

3 回答 3

3

一种更简单的方法 - 只需在 USB 驱动器上创建一个批处理文件,您可以在其中设置所需的所有环境变量。然后从批处理中启动 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
于 2011-09-08T05:27:13.467 回答
0

如何default.el将文件用作符号链接或简单的 elisp pinter:

(load-file "/path/to/usb/.emacs")
于 2011-09-08T10:07:18.480 回答
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 和 Mx 加载文件 c:/.emacs。

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

当我将我的 emacs 复制到新计算机时,我会使用它。

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

于 2012-03-08T07:48:51.557 回答