|Description||Modular in-buffer completion framework|
|Maintainer||Dmitry Gutov <firstname.lastname@example.org> and FSF|
|Part of Emacs||no|
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-mode is in GNU ELPA. See it in M-x list-packages
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 Yasnippet for a snippets system.
Enable completion in shell-mode
See this page.