首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Emacs Ruby Electric不插入End

Emacs Ruby Electric不插入End
EN

Stack Overflow用户
提问于 2012-04-26 01:56:30
回答 2查看 1.8K关注 0票数 8

我通过ELPA安装了Ruby电动模式。

我访问了一个红宝石文件~/test.rb

C-h m显示,红宝石电气模式是启用的字体锁,请参见下面的输出。

代码语言:javascript
复制
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

然而,当我输入代码类似;

代码语言:javascript
复制
class Test
  def foo()

我没有在点击end时插入任何RET自动

更新

我是通过package-list安装的,因为这是我找到的页面上推荐的,我认为它属于作者。看看~/emacs.d/elpa/ruby-electric-1.1/ruby-electric.el的来源,我看到了以下内容;

代码语言:javascript
复制
;; 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

代码语言:javascript
复制
(defun ruby-insert-end () 
  "Insert \"end\" at point and reindent current line." 
  (interactive) 
  (insert "end") 
  (ruby-indent-line t) 
  (end-of-line))

这个钩子加入了我的.emacs,它似乎没有钩子也能工作。

代码语言:javascript
复制
(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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-26 02:28:20

确保在您的emacs状态栏中显示REl

我从这里下载了红宝石电气:

http://shylock.uw.hu/Emacs/ruby-electric.el

然后,我将图书馆装入emacs,进入一个红宝石档案,用以下内容激活了红宝石电灯:

代码语言:javascript
复制
M-x ruby-electric-mode

当我键入class并点击空格时,它会自动填充end (运行emacs 23)。也许你想尝试一下这个版本的ruby-electric.el,如果你不能让它开始工作的话。

票数 5
EN

Stack Overflow用户

发布于 2014-11-28 12:20:46

在使用“红宝石-电动”时,您需要包括“红宝石-附加”:

https://github.com/ruby/ruby/blob/trunk/misc/ruby-additional.el

总有一天会合并成emacs的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10326255

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档