なんか毎回毎回ファイルを作るたびに手打ちで use strict を打ち込むのが面倒になってきたので(これで怠慢なプログラマの仲間入りかなw) Emacs のテンプレート機能を使って拡張子が Perl のファイルだった場合は自動で最初の決まり事の 3 行を入れてくれるようにしてみた。とりあえずはモードでの判定と拡張子での判定でやってみる。
僕の場合は template ってフォルダを作って、そのなかにテンプレートになるファイルを放り込んだだけ。今は Perl でしか使ってないけど、他に雛形が必要な言語があったら便利に使えそう。HTML の場合は psgml-mode 使えばもっと便利らしい。
;; Mode Check Template
(setq auto-insert-directory "~/site-lisp/template/")
(auto-insert-mode t)
(setq auto-insert-query nil) ;; テンプレート挿入時に尋ねない
(setq auto-insert-alist
(append
'(
(cperl-mode . "default.pl") ;; もしかしたらこの行は要らないかも
("\\.pm$" . "default.pm)
("\\.\\(pl$\\|cgi$\\)\\'" . "default.pl")
)
auto-insert-alist))
.pl のテンプレートになるファイルの内容。
#!/usr/local/bin/perl
use strict;
use warnings;
追記:date 01/17/2007 09:10
.pm ファイルの場合は別のテンプレートを開くように修正。まぁモジュール作る時は h2xs -AX -n Module::NAME でいいやと思ったけど自分モジュール用にw
package Module::Name;
use strict;
use warnings;
require Exporter;
our @ISA = qw(Exporter);
our %EXPORT_TAGS = ( 'all' => [ qw(
) ] );
our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );
our @EXPORT = qw(
);
our $VERSION = '0.01';
とかしてみたんだけど、どうも .emacs に直打ちで対話的に使えるらしいので後日モジュール名とかは対話的に入力出来るように変える可能性あり。