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
