emacs上でファンクションキーF5にて現在編集中のrubyスクリプトを実行するには
emacsとrubyでC-cC-l(run-ruby)ができることを今まで気がつかなかった。 - 計算機と戯れる日々の続き
basicのRUNを懐かしみつつ、C-cC-l[return]が面倒なので.emacsに以下を定義
(add-hook 'ruby-mode-hook (lambda () (local-set-key [f5] "\C-x\C-s\C-c\C-s\C-xo\C-c\C-l\C-m")))
ファンクションキーの[f5]は小文字でないとダメなので注意(はまった)
グローバルマップに定義するなら
グローバルマップだと全部のモードで有効になるからって…モードごとにC-cC-s とC-cC-lの挙動が違うんだよな。
ローカルマップで吸収させるか。もしかして以前のパッチ群は不要になるかな?まあ機会があればチャレンジしてみるか。
ということで、既にC-cC-lで今回のrubyと同じ挙動をしているscheme,prolog,haskellのために以下を定義
;; run-script (global-set-key [f5] "\C-c\C-l")
fsetって関数で以下でも良い(名前をひとつ消費するけど)
;; run-script (fset 'run-script "\C-c\C-l") (global-set-key [f5] 'run-script)