Emacs でタブキーで補完。

補完と言えば、僕はタブキー派なんですが、

(global-set-key "\t" 'dabbrev-expand)

と、書いても、タブキーが補完になってくれません。なんでやろと悩んで調べていたら、こんな記事を発見しました。

キー探索時にはマイナーモードマップのマッピングが最優先される。
globa-set-key でタブにお好みのコマンドをバインドしても、
効果がない場合、この種の優先順位が問題であることが少なくない。

というわけで、まぁ全てのモードでタブキーで補完を使う事もないだろうということで、補完を使いたいモードだけでタブキーを補完に割り当てることにしました。

(add-hook 'cperl-mode-hook
          (lambda ()
	    (local-set-key "\t" 'dabbrev-expand))) 

これで、cperl モードでタブキーによる変数名などが補完できる様になりました。
perlplus.el の perlplus-complete-symbol による関数などの補完も一緒にタブキーでやっていただきたい所なんですけど、単にこちらもタブキーに設定したら(試してないけど)多分エラー出ますよね?いい感じで、候補があれば適当に補完してみるようになればいいんですけど。