簡體   English   中英

Emacs Ruby Electric不會插入End

[英]Emacs Ruby Electric Does Not Insert End

我通過ELPA安裝了Ruby Electric模式。

我訪問了一個ruby文件~/test.rb

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

在點擊RET我沒有自動插入任何end

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

正如谷歌團體討論的那樣; https://groups.google.com/forum/?fromgroups#!msg/emacs-on-rails/Cuh_x5eCK_M/KDwjY4K6X1YJ

確保在emacs狀態欄中顯示REl

我從這里下載了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.el ,如果你不能從ELPA那里得到它。

你需要包含'ruby-additional'才能使用'ruby-electric':

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

有一天應該在emacs中合並。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM