我目前在盒子中使用 Lisp,它预先配置为不加载“.emacs”配置文件。我想更改快捷方式,以便 Emacs 默认加载此文件,但我找不到这段代码的位置。
有人可以帮我找到这个,如果可能的话告诉我要删除/编辑哪些代码以允许加载这个文件?如果这有什么不同,我在 OS X 上使用 Lispbox。
据我所知,我正在寻找以下不加载初始化文件的代码之一:-q --no-init-file --no-site-file
提前致谢。
我目前在盒子中使用 Lisp,它预先配置为不加载“.emacs”配置文件。我想更改快捷方式,以便 Emacs 默认加载此文件,但我找不到这段代码的位置。
有人可以帮我找到这个,如果可能的话告诉我要删除/编辑哪些代码以允许加载这个文件?如果这有什么不同,我在 OS X 上使用 Lispbox。
据我所知,我正在寻找以下不加载初始化文件的代码之一:-q --no-init-file --no-site-file
提前致谢。
它位于 Lispbox.sh (Linux) 或 Lispbox.bat (Windows) 中。
%EMACS% --no-init-file --no-site-file --eval=%TO_EVAL%
通常加载的初始化文件要么存在,要么~/.emacs.d/init.el
不存在~/.emacs
,也许您可以了解第一个文件中发生了什么?
此外,缓冲区*Messages*
有时会告诉您一些关于正在发生的事情。
这些类型的问题(二进制试图加载一些未知的配置文件)你可以使用工具'strace'来分析。
我努力解决同样的问题,我找到了答案。
首先,我打开了我的 lispbox.bat 文件。
@echo off
rem Thanks to Venkat who provided this bit of COMMAND wizardry.
if NOT %OS%==Windows_NT goto checkhome
for %%i in ( "%CD%" ) do set LISPBOX_HOME=%%~si%
goto start
:checkhome
rem
rem if the environment variable is not defined, dereferencing
rem it produces the same string!
rem
if %LISPBOX_HOME%==%LISPBOX_HOME% goto noenv
:start
set EMACS=%LISPBOX_HOME%/emacs-23.2/bin/runemacs.exe
set TO_EVAL="(progn (load \"lispbox\") (slime))"
%EMACS% --no-init-file --no-site-file --eval=%TO_EVAL%
goto end
:noenv
echo LISPBOX_HOME environment variable should be set and
echo point to the installation directory of LISPBOX before
echo launching this command.
:end
接下来,我修改了其中的一些行。
从
set EMACS=%LISPBOX_HOME%/emacs-23.2/bin/runemacs.exe
set TO_EVAL="(progn (load \"lispbox\") (slime))"
%EMACS% --no-init-file --no-site-file --eval=%TO_EVAL%
TO(只需删除“--no-init-file”)
set EMACS=%LISPBOX_HOME%/emacs-23.2/bin/runemacs.exe
set TO_EVAL="(progn (load \"lispbox\") (slime))"
%EMACS% --no-site-file --eval=%TO_EVAL%
只是简单而明显的方式。在 lispbox.sh 中插入 (progn (load "lispbox") (slime)) (load "~/emacs") 或者你的 .emacs 文件在哪里。
形式
exec ${LISPBOX_HOME}/emacs-23.2/bin/emacs --no-init-file --no-site-file --eval='(progn (load "lispbox") (slime))'
制作
exec ${LISPBOX_HOME}/emacs-23.2/bin/emacs --no-init-file --no-site-file --eval='(progn (load "lispbox") (load "~/.emacs") (slime))'