Modular in-buffer completion framework for Emacs

View on GitHub



  何愁有吃了一顆五香豆道︰“你將來不進去?”   甦稚冷笑一聲道︰“您以為我夫君沒有不給錢就把人拉走的法子嗎?”av天堂   像白鹿幣這種曇花一現的東西,一定會被他事後抹殺掉的。就像他從來沒有干過這種事一般。av电影   因此,受降城再重要,在全體官員都在蒙騙陛下的場面下,陛下無論如何都不會離開長安。   阿嬌家從來不養母孔雀,按照阿嬌的說法是,母孔雀長得比母雞還要糟糕,不養也罷。亚洲av   自從雲氏繳納了四百萬雲錢之後,後面的人就叫苦連天,以雲錢跟普通銅錢的兌換比來看,雲氏生生的將白鹿幣的價值提高了五倍……

Company is a text completion framework for Emacs. The name stands for "complete anything". It uses pluggable back-ends and front-ends to retrieve and display completion candidates.

It comes with several back-ends such as Elisp, Clang, Semantic, Eclim, Ropemacs, Ispell, CMake, BBDB, Yasnippet, dabbrev, etags, gtags, files, keywords and a few others.

The CAPF back-end provides a bridge to the standard completion-at-point-functions facility, and thus works with any major mode that defines a proper completion function.


company-elisp company-semantic


This package is part of GNU ELPA (M-x list-packages).

Advanced users can also download the development snapshot.


Once installed, enable company-mode with M-x company-mode.

Completion will start automatically after you type a few letters. Use M-n and M-p to select, <return> to complete or <tab> to complete the common part. Search through the completions with C-s, C-r and C-o. Press M-(digit) to quickly complete with one of the first 10 candidates.

Type M-x company-complete to initiate completion manually. Bind this command to a key combination of your choice.

When the completion candidates are shown, press <f1> to display the documentation for the selected candidate, or C-w to see its source. Not all back-ends support this.

To use company-mode in all buffers, add the following line to your init file:

(add-hook 'after-init-hook 'global-company-mode)

To see or change the list of enabled back-ends, type M-x customize-variable RET company-backends. Also see its description for information on writing a back-end.

For information on specific back-ends, also check out the comments inside the respective files.

For more information, type M-x describe-function RET company-mode.

To customize other aspects of its behavior, type M-x customize-group RET company.

See Also


If you experience any problems or have a feature request, please use the issue tracker.


Company is subject to the same copyright assignment policy as Emacs itself, org-mode, CEDET and other packages in GNU ELPA. Any legally significant contributions can only be accepted after the author has completed their paperwork. Please ask for the request form, and we'll send it to you.

More Reading