
Emacsの補完機能
プログラムなどで予約語や変数名、関数名など全て記憶することはできない。 そんなときに補完機能は便利だ。 なんとなく覚えている文字を入力して、補完機能を呼び出せば候補を表示してくれる。 記憶を助けてくれるだけでなく、正確に速く入力する手助けにもなる。 しかしEmacsの補完機能は複雑だ。 その拡張性の高さから様々な補完パッケージが存在する。 Emacsの補完機能について、AI(gpt-oss:20b)と会話を行った。 見出しがプロンプト、内容がAIの回答である。(まとめの手前まで) emacsで主流の補完機能について教えて 主流の補完機能(completion)は次のように分けられます。 パッケージ 主な特徴 使い方 company-mode 会社統合型補完。モジュール単位で「backend」を切り替えて、語彙・関数・文法など多様に補完。 M-x company-mode で有効化。 C-<tab> で候補を選択。 corfu 軽量でキーボード指向。 M-x corfu-mode で有効化。 C-<tab> で候補表示、 M-p/M-n で移動。 ivy + counsel Emacs 版 fzf=。=C-s でインクリメンタル検索。 counsel-M-x でコマンド検索。補完は ivy の ivy-read が内部で呼ばれる。 helm UI が独自。 M-x helm-M-x で補完。検索結果をウィンドウに表示し、 C-n/C-p で選択。 vertico シンプルなインクリメンタル補完。 M-x vertico-mode で有効化。 C-<tab> で候補のリストを表示。 auto-complete 古典的パッケージ。 M-x ac-start で起動。 C-<tab> で候補。 company-mode が主流になっているので、基本はそちらに置き換えると良い。 builtin completion completion-at-point=(=M-TAB=)や =icomplete=(=M-?=)。Emacs 29 以降は標準で =completion-in-region が強化されている。 使い方のコツ プロジェクトごとに設定 use-package で :ensure t と :config で global-company-mode や global-corfu-mode を有効化。 ...