【发布时间】:2011-01-05 21:23:31
【问题描述】:
我很难在我的 mac 上的 emacs 中加载 ruby-mode。
.emacs 文件位于 ~/.emacs 我已经向它添加了几个命令(许多从这个站点粘贴),但似乎没有一个被加载。有什么建议吗?我不确定是文件没有加载还是我的命令语法错误。
我只需要以下内容
- 4 个空格缩进(自动缩进也很好)
- 为 .rb 文件加载了 ruby 模式。
谢谢!
【问题讨论】:
我很难在我的 mac 上的 emacs 中加载 ruby-mode。
.emacs 文件位于 ~/.emacs 我已经向它添加了几个命令(许多从这个站点粘贴),但似乎没有一个被加载。有什么建议吗?我不确定是文件没有加载还是我的命令语法错误。
我只需要以下内容
谢谢!
【问题讨论】:
这就是 emacs 查找 .emacs 文件的方式。
57.6.4 Emacs 如何找到您的初始化文件
通常 Emacs 使用环境变量 HOME(参见 HOME)来查找 .emacs;这就是“~”在文件名中的含义。如果在 ~/(也不是 .emacs.el)中找不到 .emacs,Emacs 会查找 ~/.emacs.d/init.el(它和 ~/.emacs.el 一样,可以进行字节编译)。
但是,如果您从 su 启动的 shell 运行 Emacs,Emacs 会尝试查找您自己的 .emacs,而不是您当前假装的用户。这个想法是,即使您以超级用户身份运行,您也应该获得自己的编辑器自定义。
更准确地说,Emacs 首先确定要使用哪个用户的 init 文件。它从环境变量 LOGNAME 和 USER 中获取您的用户名;如果这些都不存在,则它使用有效的用户 ID。如果该用户名与真实用户 ID 匹配,则 Emacs 使用 HOME;否则,在系统的用户数据库中查找该用户名对应的主目录。
来自http://www.gnu.org/software/emacs/manual/html_node/emacs/Find-Init.html#Find-Init
【讨论】:
将(warn "Loading .emacs") 行作为.emacs 的第一行。当您启动 emacs 时,它会在警告缓冲区中显示该消息吗?如果是这样,它至少开始加载文件。
如果这不起作用,请尝试在 emacs 中打开文件,然后运行 M-x eval-buffer。
此外,在启动时,Messages 缓冲区是否指示 .emacs 中的任何错误?这是 .emacs 不生效的最常见原因。
【讨论】: