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