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