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