【问题标题】:change .emacs file's location更改 .emacs 文件的位置
【发布时间】:2011-09-08 05:22:32
【问题描述】:

我在 windows xp 上工作

我将 emacs 存储在 USB 中

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

我试过的是

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

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

如果我在 emacs 中 eval-expression 似乎可以工作

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

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

有什么想法吗?

【问题讨论】:

    标签: emacs directory initialization home-directory


    【解决方案1】:

    一种更简单的方法 - 只需在 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
    

    【讨论】:

      【解决方案2】:

      default.el 用作文件的符号链接或简单的 elisp pinter 怎么样:

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

      【讨论】:

      • 不幸的是,Windows 使用糟糕的驱动器号机制,因此如果您将驱动器放入另一个端口,这可能会失败。
      【解决方案3】:

      将以下代码添加到文件中(例如 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 复制到新计算机时使用它。

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

      【讨论】:

        猜你喜欢
        • 2013-05-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-10-12
        • 1970-01-01
        • 1970-01-01
        • 2023-04-01
        相关资源
        最近更新 更多