change.emacs文件';s位置
我正在使用windows xp 我将emacs存储在usb中 我想携带.emacs文件和二进制文件 我试过的是change.emacs文件';s位置,emacs,directory,initialization,home-directory,Emacs,Directory,Initialization,Home Directory,我正在使用windows xp 我将emacs存储在usb中 我想携带.emacs文件和二进制文件 我试过的是 (setenv “HOME” (format "%s" (getenv "emacspath"))) (setenv “HOME” (format "%s/" (getenv "emacspath"))) 如果我在emacs中评估表达式,它似乎是有效的 在setenv之后,我可以注意到(getenv“home”) 但是我把(setenv“home”(格式“%s/”(getenv“e
(setenv “HOME” (format "%s" (getenv "emacspath")))
(setenv “HOME” (format "%s/" (getenv "emacspath")))
如果我在emacs中评估表达式,它似乎是有效的
在setenv
之后,我可以注意到(getenv“home”)
但是我把(setenv“home”(格式“%s/”(getenv“emacspath”))放到了
在“site lisp”文件夹中的“site start.el”文件中,启动emacs时会显示“符号作为变量的值无效:“HOME”
有什么想法吗?一种更简单的方法-只需在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
将其作为符号链接或简单的elisp pinter使用到您的文件中如何:
(load-file "/path/to/usb/.emacs")
将以下代码添加到文件(例如c:/.emacs)
打开emacs并加载文件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重新定位到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复制到新计算机时使用此选项
更多信息请访问我的博客Aboot emacs。
不幸的是,Windows使用的是糟糕的驱动器号机制,因此如果您将驱动器放在另一个端口中,这可能会失败。