我通过ELPA安装了Ruby电动模式。
我访问了一个红宝石文件~/test.rb
C-h m显示,红宝石电气模式是启用的字体锁,请参见下面的输出。
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()我没有在点击end时插入任何RET自动
更新
我是通过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))所以看起来我可能有个坏文件,会再试一次。
更新
我使用了从ruby-electric.el下载的http://svn.ruby-lang.org/repos/ruby/tags/v1_9_2_0/misc/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
发布于 2012-04-26 02:28:20
确保在您的emacs状态栏中显示REl。
我从这里下载了红宝石电气:
http://shylock.uw.hu/Emacs/ruby-electric.el
然后,我将图书馆装入emacs,进入一个红宝石档案,用以下内容激活了红宝石电灯:
M-x ruby-electric-mode当我键入class并点击空格时,它会自动填充end (运行emacs 23)。也许你想尝试一下这个版本的ruby-electric.el,如果你不能让它开始工作的话。
发布于 2014-11-28 12:20:46
在使用“红宝石-电动”时,您需要包括“红宝石-附加”:
https://github.com/ruby/ruby/blob/trunk/misc/ruby-additional.el
总有一天会合并成emacs的。
https://stackoverflow.com/questions/10326255
复制相似问题