参考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。
答案 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
。