org-babelっていろいろ requireして面倒だし、オプションの指定を
しないと標準出力への書き出しも表示されないし、ということで
quickrunを使って org-modeのコードを実行する関数を書いて
みました。通常であれば言語を指定する部分に quickrunのコマンド
キーを指定します。(orgの内部的な関数を使っているので使い続け
られる保証はないです。)
コード
quickrun.elは最新のものを利用してください
(eval-when-compile (require 'cl)) (require 'ob) (require 'quickrun) (defgroup org-quickrun nil "Execute buffer quickly" :group 'org :prefix 'org-quickrun) ;;;###autoload (defun org-quickrun () (interactive) (let ((block-info (org-babel-get-src-block-info))) (unless block-info (error "You are not in Org source block")) (let ((key (first block-info)) (code (second block-info))) (with-temp-buffer (insert code) (let ((quickrun-option-cmdkey key)) (quickrun)))))) (provide 'org-quickrun)
サンプル
#+BEGIN_SRC perl print "hello world\n"; #+END_SRC #+BEGIN_SRC c/gcc #include <stdio.h> int main (void) { printf("hello world\n"); return 0; } #+END_SRC #+BEGIN_SRC python # -*- coding:utf-8 -*- def hello(): print("こんにちわ世界") hello() #+END_SRC