2013-01-15 40 views
0

参考indent ruby code on the fly in emacs,如何在进入主模式后自动启动次要模式?Ruby on Emacs软件包安装

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

另外,我试过安装ruby-end但它不工作。我复制了ruby-end.rb~/.emacs.d,并添加以下内容​​:

(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。

回答

0

electric-indent-mode是一个全局小模式(即它适用于所有模式下的所有缓冲区),所以只需在您的.emacs中启用一次,不需要使用钩子。

+0

难道不会弄乱其他语言的缩进吗?另外,我将如何使其全球启用?我尝试了'setq',这没有奏效。 – darksky

+0

和每一个小模式一样,你可以在你的'.emacs'中使用'(electric-indent-mode 1)'来启用它。 – Stefan

0

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

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

顺便说一句,我还是喜欢上了年纪ruby-electric