Ruby on Emacs包安装

时间:2013-01-15 13:31:16

标签: ruby-on-rails ruby emacs ruby-mode

参考indent ruby code on the fly in emacs,如何在输入主要模式后自动启动次要模式?

基本上,当我打开一个Ruby文件(在ruby-mode中打开)时,我希望electric-indent-mode能够自动启动。

另外,我尝试安装ruby-end,但它无效。我将ruby-end.rb复制到~/.emacs.d并将以下内容添加到init.el

(add-to-list 'load-path "ruby-end")
(require 'ruby-end)

我也ruby-end.pl我也得到同样的错误。以下是--debug-init错误的结果:

Debugger entered--Lisp error: (file-error "Cannot open load file" "ruby-end")
2   require(ruby-end)
3   eval-buffer(#<buffer  *load*> nil "/Users/nayef/.emacs.d/init.el" nil t)  ; Reading at buffer position 1392
4   load-with-code-conversion("/Users/nayef/.emacs.d/init.el" "/Users/nayef/.emacs.d/init.el" t t)
5   load("/Users/nayef/.emacs.d/init" t t)
6   #[0 "^H\205\262^@     \306=\203^Q^@\307^H\310Q\202;^@ \311=\204^^^@\307^H\312Q\202;^@\313\307\314\315#\203*^@\316\202;^@\313\307\314\317#\203:^@\320\nB^R$
7   command-line()
8   normal-top-level()

有什么想法吗?有没有人有关于Emacs中Ruby on Rails开发的指针?我使用基于命令行的文本Emacs 24.2.1。

2 个答案:

答案 0 :(得分:0)

electric-indent-mode是一种全局次要模式(即它适用于所有模式中的所有缓冲区),因此只需在.emacs中启用一次,无需使用钩子。

答案 1 :(得分:0)

要解决您在此遇到的具体问题,load-path应包含目录,而不是文件路径。所以,试试这个:

(add-to-list 'load-path (expand-file-name "~/.emacs.d"))
(require 'ruby-end)

顺便说一句,我还是喜欢年龄较大的ruby-electric