yasnippet.el をインストール
ブログを始めてから、Emacs の Org Mode で #+BEGIN_SRC ・・・ #+END_SRC と書くことが多くなったので、 ここは Emacs Lisp で #+BEGIN_SRC と入力したら自動で #+END_SRC が入力される機能を作ってみよう!!と 意気込んでみたんですが、すぐに yasnippet っていうそのままの機能のモジュールがあることを思い出した。
インストールは Emacsテクニックバイブル とか Yet Another Snippet extention を参考にして行った。
Org Mode での入力支援
yasnippet を使えば #+BEGIN_SRC - #+END_SRC の自動挿入の記述も簡単にできると思ったら、実はその記述も必要なくて Org Mode では #+BEGIN_SRC についてはすでに
#+begin_src <- カーソル位置はココ #+end_srcが挿入される。カーソル位置が begin_src の後ろに来ていて、すぐに emacs-lisp などとプログラム名が打ちやすい状態になっている。
#+BEGIN_SRC 以外にも以下のものが予め準備されている。("<"のあとに下記のアルファベット 1 文字を入力して<Tab>)
s #+begin_src ... #+end_src e #+begin_example ... #+end_example q #+begin_quote ... #+end_quote v #+begin_verse ... #+end_verse c #+begin_center ... #+end_center l #+begin_latex ... #+end_latex L #+latex: h #+begin_html ... #+end_html H #+html: a #+begin_ascii ... #+end_ascii A #+ascii: i #+index: line I #+include: line
参考:Emacsテクニックバイブル ~作業効率をカイゼンする200の技~
参考:Org Mode Manual - 15.2 Easy Templates
すみません、orgのブロック補完がyasnippetのテンプレートというのはどういう情報を元に書かれましたか?
返信削除org内のコードを読んだのですが、補完をしているorg-try-structure-completionとテンプレートを保持しているorg-structure-template-alistなどを見る限り、yasnippetを使っているコードは無いと思います。
また、yasnippetを消した上で確認もしたのですが、正常に動作しました。
情報源は org mode のマニュアルページだったのですが・・・すみません、勘違いしていました。
返信削除yasnippet のテンプレートではなくて org mode 独自のテンプレートですね。
そうだったのか・・・。