我访问了一个ruby文件〜/ test.rb
C-h m显示ruby电动模式已启用,字体锁定,请参阅下面的输出
Enabled minor modes: Auto-Compression Auto-Encryption Blink-Cursor Column-Number Delete-Selection File-Name-Shadow Global-Font-Lock Global-Linum Iswitchb Line-Number Menu-Bar Mouse-Wheel Shell-Dirtrack Tooltip Transient-Mark
但是当我输入代码时;
class Test def foo()
在点击RET时我没有自动插入任何结束
UPDATE
我通过package-list安装,因为我在找到的页面上推荐了这个,我认为这属于作者.看~~ emacs.d / elpa / ruby-electric-1.1 / ruby-electric.el的来源我看到以下内容;
;; FIXME: it should be available in next versions of ruby-mode.el (defun ruby-insert-end () (interactive) (insert "end") (ruby-indent-line t) (end-of-line))
所以看起来我可能有一个糟糕的文件,会尝试另一个.
UPDATE
我使用从http://svn.ruby-lang.org/repos/ruby/tags/v1_9_2_0/misc/ruby-electric.el下载的ruby-electric.el
与本文http://appsintheopen.com/articles/1-setting-up-emacs-for-rails-development/part/7-emacs-ruby-foo相关联
然后把这个要点https://gist.github.com/1213051加到ruby-electric.el上
(defun ruby-insert-end () "Insert \"end\" at point and reindent current line." (interactive) (insert "end") (ruby-indent-line t) (end-of-line))
这个挂钩到我的.emacs,它似乎没有钩子工作
(add-hook 'ruby-mode-hook (lambda () (require 'ruby-electric) (ruby-electric-mode t)))
正如这个google群组讨论的那样; https://groups.google.com/forum/?fromgroups#!msg/emacs-on-rails/Cuh_x5eCK_M/KDwjY4K6X1YJ
解决方法
我从这里下载了ruby-electric:
http://shylock.uw.hu/Emacs/ruby-electric.el
然后我将库加载到emacs中,然后进入ruby文件并激活
ruby电动:
M-x ruby-electric-mode
当我输入class并命中空格时,它会自动填充(运行emacs 23).也许你想试试那个版本的ruby-electric.el,如果你不能从ELPA那里得到它.