为mac ruby开发设置.emacs文件

为mac ruby开发设置.emacs文件,ruby,linux,macos,emacs,Ruby,Linux,Macos,Emacs,我很难在mac上的emacs中加载ruby模式 .emacs文件位于~/.emacs,我已经向它添加了几个命令(许多是从这个站点粘贴的),但似乎没有加载任何命令。有什么建议吗?我不确定文件是否没有加载,或者我的命令语法有误 我所需要的是以下内容 4个空格缩进(自动插入也很好) 为.rb文件加载ruby模式 谢谢!这是emacs查找.emacs文件的方式 57.6.4 Emacs如何找到您的初始文件 通常,Emacs使用环境变量HOME(参见HOME)查找.Emacs;这就是文件名中“~”的含

我很难在mac上的emacs中加载ruby模式

.emacs文件位于~/.emacs,我已经向它添加了几个命令(许多是从这个站点粘贴的),但似乎没有加载任何命令。有什么建议吗?我不确定文件是否没有加载,或者我的命令语法有误

我所需要的是以下内容

  • 4个空格缩进(自动插入也很好)
  • 为.rb文件加载ruby模式

谢谢!

这是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。其想法是,即使您以超级用户身份运行,您也应该获得自己的编辑器自定义

更准确地说,Emacs首先确定要使用哪个用户的init文件。它从环境变量LOGNAME和user中获取您的用户名;如果两者都不存在,则使用有效的user-ID。如果该用户名与实际用户ID匹配,则Emacs使用HOME;否则,它会在sy中查找与该用户名对应的HOME目录stem的用户数据库

从中,将行
(警告“Loading.emacs”)
作为.emacs的第一行。启动emacs时,它是否在警告缓冲区中显示该消息?如果是,它至少开始加载文件

如果这不起作用,请尝试在emacs中打开文件,并运行
M-x eval buffer


此外,在启动时,消息缓冲区是否指示.emacs中有任何错误?这是.emacs不生效的最常见原因。

poulh$echo$HOME/Users/poulh-poulh$ls$HOME/.emacs/Users/poulh/.emacs感谢您的评论。从阅读来看,我的.emacs似乎位于正确的位置……我错了吗?谢谢。这很有效d!我看到了警告。谢谢。所以…现在看来我的语法不正确。你(或其他人)知道我需要添加什么来默认加载ruby模式(我指的是语法限制和缩进帮助)吗?再次感谢。(添加到列表“加载路径”//path/to/ruby/mode”)(需要“ruby模式”)这两行就足够了。将/path/to/ruby/mode更改为包含ruby-mode.el的实际目录。另外,在运行时通过“M-x自定义组ruby”设置缩进级别可能更容易“,没有安装ruby模式,也不是ruby程序员,我不知道ruby模式为Hanks Justin提供的具体选项。我让它工作了。我是这样做的。我去了这个网站,下载了rdoc-mode.el文件并把它放在~/:我在我的.emacs文件中添加了以下几行(也位于~/)(添加到列表“加载路径”~/rdoc mode.el)(需要“ruby模式”),当我加载一个.rb文件时,它是正确的hi-lited。请注意,我有emacs 21,从这个网站上看,这个文件似乎包含在emacs 23中:您可以将(添加到列表“加载路径”~/rdoc mode.el)替换为(添加到列表“加载路径”~/”),加载路径只需要指向目录,不需要指定文件。