牌語備忘録 -pygo

あくまでもメモです。なるべくオフィシャルの情報を参照してください。

牌語備忘録 -pygo

ruby-modeの設定を若干いじってみた

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)
           ))
  1. オートでインデント
  2. C-c C-cで実行(うまくいかない時は全選択C-c C-r、もしくはC-c C-lでファイルパス入れて実行)
  3. C-c C-zでインタプリタ起動
  4. おまけにruby-electric-modeも


とりあえずこれで(゚Д゚)b
インテリジェントなメソッド補完のやり方がわからん(´・ω・`)