« フルレックスS | メイン | 金竜・銀竜 »

xyzzyでRuby開発環境を構築

xyzzyで普通にRubyスクリプトを編集していたのですが、若干不便に思えてきたのであらためて開発環境を構築しなおしてみることにしました。

ruby-modeのインストール

ruby-mode改良版をダウンロードして展開します。 オートインデントやキーワードファイルを使った補完機能に期待。

  • ruby-hint.l、ruby-model.l、ruby-mode.lcを<XYZZYDIR>/site-lispにコピーします。
  • Rubyを<XYZZYDIR>/etcにコピーします。

.xyzzyファイルに以下を追加します。

(load-library "ruby-mode")
(push '("\\.rb$" . ruby-mode) *auto-mode-alist*)
; インデント量を変える。nilの時はタブを挿入
;(setq *ruby-indent-column* 2)

~.rbファイルを開いてみて予約後などなどに色がついていればインストール成功です。キーワード補完は SHIFT+SPACEで実行らしいです。

shell3のインストール

Rubyスクリプトを実行するのにM-x shellで実行するシェルモードを使おうとしたのですが、シェルモード内部ではコマンドヒストリを使うことが出来ません。通常のコマンドプロンプトだと上矢印や下矢印で実行できるやつです。コマンドヒストリをxyzzyのシェルモードで使うためにはshell3をインストールして使用します。

xyzzy > その他のshell3.lをダウンロードし、 <XYZZYDIR>/site-lispにコピーします。このままだとCTRL-N、CTRL-Pがヒストリのキーバインドに割り当てられているため、該当部分をコメントアウトします


;;;
;;; added by HATTORI Masashi<gyo@he.mirai.ne.jp>
;;;
(define-key *shell-mode-map* #\TAB 'shell-complete)
(define-key *shell-mode-map* #\Up 'shell-history-previous)
;;(define-key *shell-mode-map* #\C-p 'shell-history-previous)
(define-key *shell-mode-map* #\Down 'shell-history-next)
;;(define-key *shell-mode-map* #\C-n 'shell-history-next)
(define-key *shell-mode-map* #\C-a 'shell-goto-bol)
(define-key *shell-mode-map* #\C-r 'shell-history-search-backward)

.xyzzyに以下を追加します。

;;shell3(シェルモードで履歴)
(require "shell3")

M-x shellでシェルモードを起動し、コマンドを実行。その後上矢印でさきほどのコマンドが表示されれば成功です。

トラックバック

このエントリーのトラックバックURL:
http://www.srcw.net/cgi/mt/mt-tb.cgi/77

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

About

2007年08月14日 13:31に投稿されたエントリーのページです。

ひとつ前の投稿は「フルレックスS」です。

次の投稿は「金竜・銀竜」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。