• 作成:

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の方が行儀が良いかもしれません.