Skeleton Mode がいいですねぇ。
Web で,Google の中の人がコーディングしている映像をみたんですが,
括弧の自動補完がされていました。
・・・。
かっくいいじゃん!!
しばし調べる。
ほうほう,SkeletonMode があるそうな。
参考ページ
- http://www.emacswiki.org/cgi-bin/wiki/SkeletonMode
- http://www.panix.com/~tehom/my-code/skel-recipe.txt
早速 Meadow に導入してみました。
以下注意点。
- .emacs 内に (require 'skeleton) を足す。
これを書かないと,起動直後,scratch バッファで skeleton-pair とかを評価すると,
void symbol といって怒られるので。
なぜかわからん。。。
- make-variable-buffer-local
これしないと,グローバルに変更されている様子。
下記の,tab-width は,scratch バッファで評価すると,4 となるので
不思議。
だって,c-mode で,M-; して (local-variable-p 'tab-width) すると,t になるんだもん。
ま,lisp にしても emacs にしても,わかっていない/知らないことの方が圧倒的に
多いだろうから,なんかしらのカラクリがあるとみた。
(add-hook 'c-mode-common-hook '(lambda() ;; ... ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; こっから (make-variable-buffer-local 'skeleton-pair) (make-variable-buffer-local 'skeleton-pair-on-word) (make-variable-buffer-local 'skeleton-pair-alist) (setq skeleton-pair-on-word t) (setq skeleton-pair t) (local-set-key (kbd "(") 'skeleton-pair-insert-maybe) (local-set-key (kbd "[") 'skeleton-pair-insert-maybe) (local-set-key (kbd "{") 'skeleton-pair-insert-maybe) (local-set-key (kbd "`") 'skeleton-pair-insert-maybe) (local-set-key (kbd "\"") 'skeleton-pair-insert-maybe) ;; ここまで追加 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ... ))
いやー,実は長い時間はまっていたのです。
風邪が治っていないせいか,腕の関節がいたーていたーて。
寒いんだか暑いんだかよーわからんし。
グローバルに変更しちゃえば楽なんですが,なんかこっちの方がかっこいい気がしたので。
あと,skeleton には,他に,たくさん便利機能があるみたいですが,
それはこれからのお楽しみということで。
あとあと,skeleton.el 内の,skeleton-pair-default-alist に文字化け? して
わからない行があるんだけど,あれはなんなんだろうか。
(defvar skeleton-pair-default-alist '((?( _ ?)) (?\)) (?[ _ ?]) (?\]) (?{ _ ?}) (?\}) (?< _ ?>) (?\>) (?ォ _ ?サ) (?\サ) ;; <-- ここね。 (?` _ ?')))