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