Clojure + Emacs でのシンボル補完を M-Tab ではなく Tab でやりたい。
swank-clojure(slime) を使うと REPL では Tab でシンボル補完してくれますが、ソースファイル内では M-Tab で補完になります。
インデントは C-i や C-j でできるので、ソースファイル内でも Tab キーひとつで補完したいです。
(add-hook 'slime-mode-hook '(lambda () (local-set-key "\t" 'slime-complete-symbol)))
この設定だと Tab だけで補完してくれるんですが C-i がインデントじゃなくなってしまいます。C-i は Tab を意味しているそうです。C-i だけはインデントのままにする方法が分かりましたらどなたか教えてください。
2010/10/21 追記
kitokitokiさんに教えてもらいました。ありがとうございます。
~/.emacs.el
(add-hook 'slime-mode-hook '(lambda () (define-key slime-mode-map [(tab)] 'slime-complete-symbol) (define-key slime-mode-map (kbd "C-i") 'lisp-indent-line)))
とすればokでした。Mac OS X 10.6.4 + Emacs 23.2.50.1(Aquamacs)で確認。
Emacs 22だとうまくいかなかったです。