Modular in-buffer completion framework for Emacs

View on GitHub



  沒等我做出回應,第四條信息又發了進來︰我也差不多啦,所以得讓自己忙碌,忙到無空瞎想就最好。等到了那邊,我就不用玩捉迷藏了。到時候咱們好好聊聊。   這樣的安寧日子,到底能有多久呢?張泰想著。只是多想也無益,現在能有一分安寧,就得過且過,享受眼下吧。他正想著,伸手拿過曹官保帶來的那本書。這是個手抄本,封皮上寫了幾個筆酣墨飽的柳體字︰《夷亭志》。這本方志並非官修,乃是幾十年前一個衙門里的師爺所撰,也一直沒有刻板印行過,就收在長洲縣縣衙的庫房里。因為一直沒有人翻過,雖然幾十年了,看上去仍然很新。曹官保是受張泰所托,去長洲縣里借出來的。張泰慢慢地翻著,才看了幾頁,不覺有點失望。妹妹干   沈柔,你听到我的歌聲了嗎?曰本高清一本道无码av   黎斯四肢傳來一陣無力感,就是這個——每次回到九月二號後,身體就會虛弱許多,以現在的身體狀況恐怕只有五六十歲爺爺的水平,若再輪回一兩次,恐怕別說查案了,活著才是最大的問題。   “怎麼了?”曰本高清一本道无码av   福小生虔誠地拜了拜石像︰“那是兩個月前吧,我家阿黃突然不見了。阿黃是我養的大黃狗,爹說大黃被山里的野狼咬死了,我才不相信。那天晚上我一個人偷跑出來找大黃,轉來轉去就來到了桑樹下,遠遠的我看見有人在桑樹下晃腦袋,他一扭頭兩只眼楮里就射出了紅紅的光,特別嚇人。”

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