Modular in-buffer completion framework for Emacs

View on GitHub



這個對普天下不幸的人滿懷同情,對人類充滿熱愛的作家過早地離開了 人間。他的為人值得尊敬,他的遭遇值得同情。他不是一個戰士,沒有戰斗 到旭日東升,沒有親眼看見正義戰勝邪惡。但是他的作品中洋溢著的人道主 義精神定會鼓舞一代代新的為正義事業而戰的斗士以更大的勇氣、更堅定的 斗志去戰勝邪惡、迎接曙光。 我想,我大概腦袋一踫上枕頭就睡著了——就像迷迷糊糊地沉進一股黑 黝黝的深沉的潮水,沉啊,沉啊,一直深深地沉入平時永遠無法探到的自我 解脫的底層。然後,過了很久,才開始做了個夢。這個夢也不知道是怎麼開 頭的。我只記得,我又站在一個房間里,我想,是康多爾的候診室吧,突然 間又開始傳來這可怕的聲音,幾天來這木頭的聲音一直在我太陽穴里直敲, 這陣有節奏的拐杖的聲音,這可怕的篤、篤、篤、篤聲。起先這聲音很遠, 仿佛是從大街上傳來,然後近了一些,篤、篤、篤、篤,現在已經很近了, 而且來勢很猛,篤,篤、篤、篤,最後近得可怕,就打在門上,我從夢中怵 然驚醒,直跳起來。11rrrr 五十三t天天色综合 我非常羞愧。“是的,上校先生,當然,我在出城去之前,是喝了幾杯 甜酒,在城外,吃飯??吃那頓飯的時候喝了不少??不過??”俺去啦影音先锋播放 條深色的溫柔的臂膀擁抱我。她還從來沒有這樣熱情、這樣親切地握過我的 手。“我謝謝您,”她說道,听上去仿佛她是隔著一層暖洋洋、濕漉漉的夏 雨在說話。“您自己也不知道,您為這孩子做了什麼樣的好事。您救了她了, 天主在上,您真的救了她了!您快來吧,我簡直沒法向您形容,她是多麼急

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