emacs

Control = CTRL = CTL = C: C-<chr>
META = ALT = EDIT = M: M-<chr>

C-x Character eXtend. Followed by one character(and its key modifier).
M-x Named command eXtend. Followed by a long name.

(C-u <number> | M-<number>) <command>: Command prefix argument, usually is execution times

Use <SPC> or <TAB> to auto-complete.

C-x C-c: Exit
C-g: Quit a partially entered command
<ESC> <ESC> <ESC>: To get out of recursive editing levels

C-v: Page down
M-v: Page up
C-M-v: Scroll the other window down without move the focus, == <Esc> C-v
C-l: Adjust cursor position(middle, up, bottom)

C-f: Cursor right (Forward)
C-b: Cursor left (Backward)

M-f: Word right (Forward)
M-b: Word left (Backward)

C-p: Cursor up (Previous)
C-n: Cursor down (Next)

C-a: Beginning of line
C-e: End of line

M-a: Beginning of sentence
M-e: End of sentence

M- M->: End of whole text

C-h k KEYS: Show help on the KEYS (e.g. C-f)
C-h c KEYS: Show a brief help(the name of the function) on the KEYS in the echo area
C-h m: Check current enabled minor modes

<Backspace>: Delete the character just before the cursor
C-d: Delete the next character after the cursor

M-<Backspace>: Kill the word immediately before the cursor
M-d: Kill the next word after the cursor

C-k: Kill from the cursor position to end of line (Cutting)
M-k: Kill to the end of the current sentence (Cutting)

C-<SPC> | C-@: Mark the beginning and ending of a selection
C-w: Kill selected text

C-y: Yank the killed back (Pasting)
C-y M-y M-y...: Yank previous killed text

C-/: Undo
C-x u: Undo
C-_: Undo

C-x C-f: Find a file (Open or create a file)

C-x C-s: Save the current file
C-x s: Save modified buffers

C-x C-b: List buffers
C-x b Buffer-name: Switch to buffer

M-x replace-string <FROM> <TO>: Replace string after the current cursor
M-x query-replace | M-%: confirm for each replacement

M-x recover-file: Recover file from the file #filename#

M-x "modename"-mode: switch to a major mode, e.g. "fundamental", "text", "lisp", "erlang" (major modes)

M-x auto-fill-mode: auto word-wrap (a minor mode)
C-u <number> C-x f: set the line width to <number> for the auto-fill-mode (default 70)
M-q: Re-fill the current paragraph with the current line width

C-s: incremental search, go next occurrence with C-s, go previous occurrence with C-r or <Backspace>, terminate with <Enter> or C-g
C-r: backward incremental search

C-x 1: One window with the cursor
C-x 2: Two windows horizontally
C-x 3: Two windows vertically

M-x make-frame: make frame for the current buffer
M-x delete-frame: delete selected frame

C-x 4 C-f: Open file in another window
C-x 5 C-f: Open file in another frame

C-x o: Move the cursor to the other frame

C-x d | M-x dired: File manager mode
C-x C-q: Switches to Editable Dired mode (to save the changes C-c C-c | C-x C-s, to discard changes C-c <ESC>)

M-x shell: Starts a shell in the buffer named *shell*

C-<up> | M-P: Move to the previous line in the input history
C-<down> | M-n: Move to the next line in the input history

M-x erlang-mode: Switch to major mode to "Erlang"
M-x erlang-shell | C-c C-z: Starts an erlang shell in the buffer named *erlang*
M-x erlang-compile | C-c C-k: Compile the current erlang source file

M-x cua-mode: (cua-mode t)
M-x linum-mode | M-x global-linum-mode: (global-linum-mode 1), show line number at left side
M-x goto-line: (global-set-key [?\C-\M-g] 'goto-line), set shortcut "C-M-g" for goto-line

el-get: An emacs package manager