company-modeでタブキーに補完もインデントも割り当てる

auto-completeには(ac-set-trigger-key "<tab>")という関数があります.これを実行すると普段はタブキーをインデントに使い,補完出来るときのみ補完することが可能になります.

company-modeにはそのような関数はなかったため,補完をワンキーでサクッと実行したい私は困ることになりました.

探ってみるとcompany-indent-or-complete-commonという関数があるようでした.

これを(global-set-key (kbd "<tab>") 'company-indent-or-complete-common)のように設定してやれば,タブキーは普段は補完で,インデントしたい時だけインデントとして動いてくれるようです.

独自の関数呼び出しを要求するauto-completeより通常のEmacsのキーバインド割り当ての上で実現するcompany-modeの方が行儀が良いかもしれません.

このエントリーをはてなブックマークに追加 fb-like g-plusone pocket