はじめに
Emacs の Org-mode を利用する際に #+begin_src ... #+end_src
みたいなブロックを書くことがよくあるのですが、これを楽に入力する設定などを書きます。
#+begin_src ... #+end_src
みたいなやつの名前
#+begin_src ... #+end_src
みたいなものをorg-mode 的には "structure-template" と呼ぶらしいです。
こういう名前がわからないとコマンド名などを探すのに苦労します(した)。
structure-template の入力方法
org-insert-structure-template
structure-template を手打ちするのはとても厳しいので当然これらを入力する方法として、 org-insert-structure-template
というコマンドが用意されています。
このコマンドは、デフォルトでは C-c C-,
に割り当てられています。
ただ、GUI ではなくターミナルエミュレーター内で Emacs を動かしている場合などは、ターミナルエミュレータが C-,
をアプリケーションに送信できないということがあるらしく、このキーバインドが使えなかったりします(これは、ASCII に C-, に相当する制御文字が存在しないため、ターミナルエミュレータがキーイベントを無視するか ,
だけ送信してしまうためのようです)。
あと若干タイプ数が多くて面倒です。
org-tempo
今回の記事の本命です。
org-tempo というモジュールを有効にすると、もっと楽に入力できます。
手順 (#+begin_src ... #+end_src
の場合)
- バッファ上に
<s
と入力 (コマンドではない) -
<s
の右側にカーソルがある状態で、TAB (or C-i) を入力
これで <s
が #+begin_src ... #+end_src
に変換される形で入力されます。
他にも <e
は #+begin_example ... #+end_example
に変換されます。
org-tempo の設定方法
org-tempo はデフォルトでは有効になっていないですが、以下の手順で有効にできます。
- M-x customize-option org-modules を実行。 org-tempo を選択
- init.el など設定ファイルに
(require 'org-tempo)
を追記
終わりに
org-mode を使うときに設定しておくと便利な org-tempo の話でした。
カスタマイズ方法などは調べてみてください(丸投げ)。
余談
僕の記憶が正しければ、 昔は org-tempo の入力方法はデフォルトで有効になっていたと思うのですが、いつの間にか使えなくなっていて大変困ったので調べって設定したという経緯があります。
https://twitter.com/deep_tkkn/status/1578728491025334273