Emacsのキーバインドがruby-modeと普段よく使うpython-mode(python.el)とで微妙に違うから若干変えてみた。
inf-ruby.elのinf-ruby-keysあたりを参照してみる。
(defun inf-ruby-keys () "Set local key defs for inf-ruby in ruby-mode" (define-key ruby-mode-map "\M-\C-x" 'ruby-send-definition) ; (define-key ruby-mode-map "\C-x\C-e" 'ruby-send-last-sexp) (define-key ruby-mode-map "\C-c\C-b" 'ruby-send-block) (define-key ruby-mode-map "\C-c\M-b" 'ruby-send-block-and-go) (define-key ruby-mode-map "\C-c\C-x" 'ruby-send-definition) (define-key ruby-mode-map "\C-c\M-x" 'ruby-send-definition-and-go) (define-key ruby-mode-map "\C-c\C-r" 'ruby-send-region) (define-key ruby-mode-map "\C-c\M-r" 'ruby-send-region-and-go) (define-key ruby-mode-map "\C-c\C-z" 'switch-to-ruby) (define-key ruby-mode-map "\C-c\C-l" 'ruby-load-file) (define-key ruby-mode-map "\C-c\C-s" 'run-ruby) )
.emacs.el
MacOSXのCarbonEmacsは、ruby-mode・autoload・inf-ruby-keysがデフォルトで読み込まれるようなので以下のみ追加。
(add-hook 'ruby-mode-hook '(lambda () (inf-ruby-keys) (require 'ruby-electric) (ruby-electric-mode t) (define-key ruby-mode-map "\C-m" 'newline-and-indent) (define-key ruby-mode-map "\C-c\C-c" 'ruby-send-definition) (define-key ruby-mode-map "\C-c\C-z" 'run-ruby) ))
- オートでインデント
- C-c C-cで実行(うまくいかない時は全選択C-c C-r、もしくはC-c C-lでファイルパス入れて実行)
- C-c C-zでインタプリタ起動
- おまけにruby-electric-modeも
とりあえずこれで(゚Д゚)b
インテリジェントなメソッド補完のやり方がわからん(´・ω・`)