Bus errorとSegmentation faultに困ったら見るブログ

物理の研究者による日々の研究生活のメモ書きです ( python/emacs/html/Japascript/シェルスクリプト/TeX/Mac/C言語/Linux/git/tmux/R/ポケモンGO)

【Emacs】ファイルを新規作成したときに自動的にテンプレートを挿入したい

背景

Emacsで c-x c-f hoge.c とかで新しいファイルを作ると、普通は何も書かれていないまっさらなファイルができる

しかしEmacsは拡張子からファイルをどんなmodeで開くか自動で決めてくれるので、
ついでにテンプレートを挿入すると便利

例えばc言語なら
#includeやらmain関数あたりはそんなにいじる事はないのでデフォルトで挿入してくれるとありがたい

自分は今までTemplateというフォルダにTemplate.cを作っていて、それを毎回開いてコピーしていた
c-x c-wに出会ってからさらに便利になったとはいえ、テンプレートがあるならそっちを利用するに越した事はない



auto-insertの使い方

;;auto-insert
(require 'autoinsert)
;; テンプレート格納用ディレクトリ
(setq auto-insert-directory "~/Dropbox/Template/")
;; ファイル拡張子とテンプレートの対応
(setq auto-insert-alist
(append '(
("\\.c$" . ["Template.c"])
("\\.sh" . ["Template.sh"])
) auto-insert-alist))
(add-hook 'find-file-hooks 'auto-insert)

と ~/.emacsに書いておけばいい

テンプレートのあるディレクトリとか、開くテンプレートは自分でいじってください

メモ

ちなみに開くときにさらに変数を受け取って、テンプレートの中身を置き換えることも可能らしい
が、そこまでする必要はあんまりないかなー・・・・

あ、でもヘッダーに書くファイル名をそれで編集できたら便利かなー

あとがき

ちなみに、最近この設定を .emacs から消しました
起動時に、やたらとここの設定で時間がかかるっぽいので・・・
まぁ、最近はテンプレートとかはあまり必要ないかな〜とも思ってますし・・・

ランキング参加中です

↓クリックしていただけると嬉しいです〜