inf-ruby
を使ってEmacs内でIRBセッションを取得することをお勧めします。次に、 C-C C-linf-ruby-load-file
を呼び出して、バッファをIRBセッション内にロードします。
また、Flymakeを使用して、常にバッファの構文をruby -c
と常に確認することもできます。ここでは3つの私はemacs-starter-kitから取っ機能している:
(defun flymake-ruby-init()
(let* ((temp-file (flymake-init-create-temp-buffer-copy
'flymake-create-temp-inplace))
(local-file (file-relative-name
temp-file
(file-name-directory buffer-file-name))))
;; Invoke ruby with '-c' to get syntax checking
(list "ruby" (list "-c" local-file))))
(defun flymake-ruby-enable()
(when (and buffer-file-name
(file-writable-p
(file-name-directory buffer-file-name))
(file-writable-p buffer-file-name)
(if (fboundp 'tramp-list-remote-buffers)
(not (subsetp
(list (current-buffer))
(tramp-list-remote-buffers)))
t))
(local-set-key (kbd "C-c d")
'flymake-display-err-menu-for-current-line)
(flymake-mode t)))
(eval-after-load 'ruby-mode
'(progn
(require 'flymake)
(push '(".+\\.rb$" flymake-ruby-init) flymake-allowed-file-name-masks)
(push '("Rakefile$" flymake-ruby-init) flymake-allowed-file-name-masks)
(push '("^\\(.*\\):\\([0-9]+\\): \\(.*\\)$" 1 2 nil 3)
flymake-err-line-patterns)
(add-hook 'ruby-mode-hook 'flymake-ruby-enable)))
また、私はポイントでFlymakeエラーを表示するための次の関数を使用します。
;; Flymake errors at point from Dave Love on gnu.emacs.help:
(defun my-flymake-show-help()
(when (get-char-property (point) 'flymake-overlay)
(let ((help (get-char-property (point) 'help-echo)))
(if help (message "%s" help)))))
(add-hook 'post-command-hook 'my-flymake-show-help)
上記のすべてが一緒に非常にまともなルビーEmacsのために作ります経験。
私はここで質問は表示されません。 'mode-compile'をキーにバインドすることは、Emacsの他のキーバインディングのように行われます。 'ruby-mode 'は' .rb'拡張子を持つすべてのファイルに入力されます。それは 'M-x describe-mode'を用いて他のすべてのモードと同様に文書化されています。数多くのEmacsチュートリアルがあり、お気に入りの検索エンジンでアクセスできます。 – pmr
これを明確な特定の質問に分解し、個々に対処できるようにしてください。どのような鍵が欠けていると思いますか?このキーを押すと何が起こりますか?あなた自身でこれを解決するためにどのような努力をしましたか?何があなたをブロックしてしまったのですか? つまり、すべての作業を手伝ってくれる人を作ってはいけません。 –
@evernt_jr、私はEmacsについて多くの経験がないので、私はちょうどルビーモードが何をしているのか分かりません。もしそうなら、 'ruby -w my_program.rb'を使ってコンパイル/実行しますか? –