Modular in-buffer completion framework for Emacs

View on GitHub



已久的無名火現在沒頭沒腦地發泄到我身上來了。從他們轉過臉來看我的那 種神氣,我感覺到,他們擔心我會粗魯地回答她的粗魯。正因為如此,我特 我們首先穿過了候診室,接著康多爾打開了通向隔壁房間的門。他的妻 子坐在餐具還沒有端走的餐桌旁打毛線。從她那頑強執著的打毛線的動作一 點也看不出這里是兩只盲人的手在這樣輕盈、這樣穩當地把兩根毛線針對在 一起擺弄個不停,盛著毛線的小籃和剪刀排成一條直線擺在那里。直等到這 低下頭的女人抬起她那雙空茫茫的瞳仁望著我們,在平滑隆起的眼球上反映 出縮小了的電燈的形象時,才讓人看出她這雙眼楮絲毫沒有感覺。狠狠干 我看了一眼表。六點三刻,我乘的快車要到十點以後才開。所以時間很 充裕,我需要向他說明的事情也不多,我只是告訴他,我本人不干這事了。 可是他住在哪兒呢?他有沒有跟我說過,還是說過我忘了?話說回來,作為 一個開業行醫的醫生,電話簿里準會有他的名字,那麼趕快到對面電話亭去 翻翻電話簿!Be??Bi??Bu??Ca??Co??好,所有姓康多爾?的都在這 兒了,康多爾、安東,商人??康多爾醫生、艾默里希,開業醫生,第八區,哥哥干|哥哥干 我這番話想必說得十分斬釘截鐵,因為康多爾望著我,神情有些驚愕。 “請您現在別耽擱他了,”她低聲耳語,“別跟他說什麼!他一定累壞 了,整天都在外頭跑??請您照顧照顧他,請您同情??”哥也爱

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