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