8

ELPA経由でRuby Electricモードをインストールしました。

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))

そのため、ファイルが悪い可能性があるようです。別のファイルを試してみます。

アップデート

http://svn.ruby-lang.org/repos/ruby/tags/v1_9_2_0/misc/ruby-electric.elruby-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

4

2 に答える 2

5

RElemacsのステータスバーに表示されていることを確認してください。

ここから ruby​​-electric をダウンロードしました:
http://shylock.uw.hu/Emacs/ruby-electric.el

次に、ライブラリをemacsにロードし、rubyファイルに入り、次のコマンドでruby electricをアクティブにしました。

M-x ruby-electric-mode

スペースを入力classしてヒットすると、end自動的に入力されます(emacs 23を実行しています)。ruby-electric.elELPA から入手できない場合は、そのバージョンを試してみてください。

于 2012-04-26T02:28:20.477 に答える