果てしなく車輪の再発明っぽいのですが、Emacs の Python の対話環境をでっちあげてみました。
リージョンを選択して M-x eval-region-python すると、評価結果をカーソル行の下に挿入します。雰囲気としては Lisp Interaction モード で C-j したときのような感じです。
(defun eval-region-python (beg end)
(interactive "r")
(insert (with-output-to-string
(shell-command-on-region beg end "python" standard-output))
"\n"))
ちなみに、結果をスクラッチバッファに出さずに、slime っぽく別のウィンドウに表示する場合は下記のように。
(defun eval-region-python (beg end)
(interactive "r")
(let ((buf "*Py Output*")
(curwin (selected-window)))
(shell-command-on-region beg end "python" buf)
(pop-to-buffer buf)
(select-window curwin)))
こういうのをスクラッチバッファのメジャーモードを検知してすべての言語に対応してやれば、最強のスクラッチバッファになるかも…。
0 コメント :
コメントを投稿