Org-Mode(Emacs)のコードブロック機能でちょっとしたお遊び

EmacsのOrg-Modeにはソースコードを扱えるコードブロックという機能があります。これは単にソースコードを書くだけでなく、Emacs内で実行してそのまま出力も得ることが出来ます。コードブロックは
#+BEGIN_SRC sh
echo 1
#+END_SRC

こんなように簡単に書けて、これをコード内で実行(C-c C-c)するとコードブロックの下に
#+RESULTS:
: 1

と出力されます。この例では「sh」と指定してshellコマンドを実行していますが、他にもemacs-lispやpython、gnuplotなども指定して実行することが出来ます。
実行するには当然システムの方に指定したコマンドがインストールされている必要があります。また、実際にソースコードを実行するにはEmacsの設定ファイル内でどのプログラムを有効にするのか指定する必要もあります。もしコードブロックを書いても何も実行されない場合は、そのへんの設定を洗い直す必要があります。
(そのあたりはまた別でブログに書こうと思います)

もう少しこの機能で遊んでみると、以下の動画のようにEmacsに書いた文章を喋らせるといったことも出来ます。これはコードブロック内でOpen JTalkという日本語音声を喋らせることの出来るコマンドを実行しています。

この例では若干コマンドが長くなっていますが、そのへんはシェルスクリプトを作るなどすればもっと簡単に書けるかと思います。テキストエディタであるEmacs内でそのまま実行出来るわけなので、使いようによってはおもしろいことも出来ると思います。 Org-Modeについてはその他にも数多くの機能があって実際結構役に立つことが多いので、また何かネタがあったらブログに書いていこうと思います。

コメント

スポンサーリンク


このブログの人気の投稿

gnuplotでプロットなどの色をcolornameの指定で変更する

catコマンドの出力を行番号付きにするためのコマンドラインオプション(-n, -b)

Ubuntu Softwareが起動しないのでいろいろと調べてみる(Ubuntu 20.04.1 LTS)

gnuplot : グラフにグリッド線を描く方法(set grid)

gnuplot : プロット画像のサイズ指定について(set sizeとの違い)