• 作成:

company-modeでタブキーで複数の補完候補がある時は候補をスクロールして補完候補が1つの時は補完を決定する

emacsの補完用パッケージcompany-mode - Qiitaに実現できそうな関数が載っていましたが. パッケージ化されていないコードをあまり取り込みたくなかったので敬遠しました.

調べてみると標準でcompany-complete-common-or-cycleという関数があってこれが思った通りの動作をしてくれました.

以下のように書けば完璧です.

(define-key company-active-map (kbd "<backtab>") 'company-select-previous)
(define-key company-active-map (kbd "<tab>") 'company-complete-common-or-cycle)