Modular in-buffer completion framework for Emacs

View on GitHub

婷婷五月开心六月丁香色婷婷亚洲婷婷7月丁香五月天之婷婷开心新京报:付费自习室火爆 学校不妨加大开放力度


  “我心匪石,不可轉也……”董仲舒長嘆一聲,越發覺得這個世界離他越來越遠。   雲瑯笑道︰“我無意朝堂,只想證明自己是一個真正的大漢人,一旦證明了,我就躲在家里不出門,我家外面的世界都是你們的,我不干涉!”婷婷五月开心六月丁香   也不理睬張湯,雲瑯,取出一個牛皮筒子將絹帛裝了進去,並且當著兩人的面,封上火漆,請兩人勘驗無誤之後,就背著牛皮筒子一溜煙的出去了。色婷婷亚洲婷婷7月   雲瑯笑嘻嘻的站起身施禮道︰“您說的很對,雲瑯就是一個整日里在嘴上抓撓的豎子,擔當不了大任,您大可不必在乎我的意見,就當我不存在,直接做主就好!”   五十個小子一起吟唱《關雎》倒也像模像樣,最讓賓客動容的不是吟唱的內容,而是雲氏已經有了五十個識文斷字的幼童。丁香五月天之婷婷开心   “其實,五年前衛綰罷相的時候,陛下就有意讓公孫弘出任宰相,只可惜太後那一關並未過去,所以就找了老好人薛澤來過渡一下。明年開春,將是陛下大展宏圖的一年,薛澤無論如何不可能繼續就任宰相了,怪不得他敢對主父偃半點情面都不留。”

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