Emacs: Name Completion
Emacs has many different word completion systems builtin. Here's a list of the most useful ones.
completion-at-point
- Alt+x
completion-at-point
【Ctrl+Alt+i】 -
For completing the word under cursor.
Mostly used for completing function names in programing language source code. This works best in
emacs-lisp-mode
for coding emacs lisp. Usually does not work for other languages, such as JavaScript, Python, Ruby, unless you install supporting packages.

completion-at-point
, with plain gnu emacs in emacs-lisp-mode
.
hippie-expand
For expanding current word to any matching string that occurs in any existing buffers. [see Emacs: Hippie Expand]
Abbrev Mode
For expanding current word to any string, emoji, template, etc. You define the abbrevs. [see Emacs: Abbrev Mode by Lisp Code]
Completion for Minibuffer Prompts
For minibuffer prompt name completion. (command name, variable name, file name.) [see Emacs: icomplete, Name Completion]
2012-11-29 thanks to Ba Manzi (杨贵龙) for a tip.