Company-mode
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.
Description | Modular in-buffer completion framework |
---|---|
Author | Nikolaj Schumacher |
Maintainer | Dmitry Gutov <dgutov@yandex.ru> and FSF |
Source | https://github.com/company-mode/company-mode/ |
Part of Emacs | no |
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.
Installation
company-mode is in GNU ELPA. See it in M-x list-packages
Usage
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.