Modular in-buffer completion framework for Emacs

View on GitHub



  “是挺辛苦。”陸昔年想要結束掉這個話題,撈起兩只牛肉丸放進王淼淼碗里︰“來來來,多吃一點!”   一開始只是小範圍的傳播,到了午夜一點,轉發量已經達到了四千多次多次,博主的粉絲也從開始的不到兩百急劇增加到一千多個。亚洲伦理av人妻   “我是隊長,我當然可以任性。”林徵羽揚眉,反問︰“難道你不相信我的實力?”在线   就在陸昔年和小黃鴨聊天的過程中,Lin忽然開獎,人們爭先恐後的點開中獎鏈接,想看看這124個天選之子到底有誰。   她微微顫抖著把手機放到林徵羽手里。亚洲人成电影网站色   apple︰“老大要不然我們繞一下,從水路進?”

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