Modular in-buffer completion framework for Emacs

View on GitHub

色小妹就去吻哥哥干海马汽车再变相卖房自救 半年卖车万辆主业重振无期


  紅袖第一次圍坐在桌子上吃飯,她倒是顯得大大方方的,吃的極為香甜。   “陛下英明!”桑弘羊與隋越一起叩拜,而後就捧著雲瑯的奏折去了官廳,去為這兩個不合時宜的人準備新的身份。色小妹   劉徹怒道︰“配發的武器呢?”就去吻   “可以!”   甦稚瞅瞅宋喬,姐妹兩就匆匆的離開了飯桌。哥哥干   金日非常羨慕這些孩子,因為這些孩子可以正大光明的坐在另一間守衛森嚴的書房里听世上最好的先生講課,而他只能留在這間最初級的書房里,即便是有了疑惑,也無處求教。

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