snippet.el いれた
を見て便利そうなので導入。
elisp よくわかんねーので、psgml-mode
と cperl-mode
で動かしたかっただけなのにものすごい時間かかった。。
; snippet.el
(require 'snippet)
(require 'psgml)
(snippet-with-abbrev-table 'xml-mode-abbrev-table
("ahref" . "<a href=\"$${url}\" title=\"$${title}\">$${title}</a>"))
(defvar cperl-mode-abbrev-table nil
"Abbrev table in use in CPerl mode.")
(define-abbrev-table 'cperl-mode-abbrev-table ())
(snippet-with-abbrev-table 'cperl-mode-abbrev-table
("formy" . "for my $${item} ($${items}) {\n}")
("cataction" . "sub $${fn} :$${attribute} {\n$>my ($self, $c) = @_;\n}"))
こんなんでいけた。
psgmlのxml-modeは普通にやったら xml-mode-abbrev-table
なんてねーよっておこられるので、先に (require 'psgml)
しておいたらいけた。
cperl-mode も同じ方法でやろうとしたらなんかエラーになったのでソース見たら、cperl-mode-abbrev-table
がすでに定義されてあったら cperl-mode 側では上書きしないっぽい感じになっていたのでてけとうに定義してやったらいけた。うむ、よくわからん。
まぁつかえたからいいや的な。
あとはabbrev-tableふやすだけ~。