key bindingcommanddescriptiontypecomment
C-a move to the beginning of linenavigate
C-e move to the end of linenavigate
M-> move to the bottom of the buffernavigate
M-< move to the top of the buffernavigate
`goto-line`move to a certain linenavigate
M-f move forward to next wordnavigate
M-b move backward to previous wordnavigate
C-v move to the next screen of the buffernavigate
M-v move to the previous screen of the buffernavigate
C-x o move curser to different windows navigate
C-x b switching between open buffers in current framenavigate
C-x C-b list open buffersnavigate
C-x r l list bookmarksnavigate
C-x r m add a bookmark for the current buffernavigate
C-x 8 Enter insert a Unicode character by its Unicode name, e.g. "em dash" or hexidecimal number, e.g. "0x2E3B"edit
C-x r t `xxx``string-rectangle`enter `xxx` on multiple lines in a rectangle areaeditthe rectangle area can be defined/selected by M-@
M-;`comment-dwin`comment multiple linesedit
C-_ or C-x u undoedit
C-y yank, reinsert the most recent killed textedit[the kill ring](http://www.gnu.org/software/libtool/manual/emacs/Kill-Ring.html#Kill-Ring)
C-u 3 C-y yank, reinsert the third most recent killed textedit
C-k delete characters after cursur of the current lineedit
C-d delete the next characters after cursuredit
C-x i insert content of another fileedit
C-@`set-mark-command`set the mark where the point isedit
M-%`query-replace`Query replaceedit
C-M-%`query-replace-regexp`Query replace regexpedit
C-u C-x Tab`?`indent a block of text rightward by a tabedit
C-x C-i`?`indent a block of text rightward by a whitespaceeditTo select a block of text, move cursor to the front, C-Space to activate the selection, then move the cursor to the end, C-Space to end the selection.
C-u `5` C-x Tab`?`indent a block of text rightward by 5 spacesedit
C-u `5` C-x C-i`?`indent a block of text rightward by 5 spacesedit
M-l convert the following word to lower caseedit
M-Tab (with cursor near an English word) check dictionary for alternative spellingsedit
M-q (with a highlight region)`fill-paragraph`automatically line wraps a pragraph of textedit
C-M-@ `mark-sexp`undoedit1) move cursor to the beginning of a block of text by mouse or up arrow key 2) C-M-@ to mark the beginning of the block 3) move cursor to the end of the block 4) operate on the block, e.g. indent rightward by 1 whitespace with C-x C-i, or indent rightward by 4 whitespaces with C-u -4 C-x C-i
C-s`isearch-forward`I-searchquery
C-r`isearch-backward`I-search backwardquery
C-M-s`isearch-forward-regexp`Regexp I-searchquery
C-M-r`isearch-backward-regexp`Regexp I-search backwardquery
C-x C-b[`list-buffers`](https://www.gnu.org/software/emacs/manual/html_node/emacs/List-Buffers.html)list open buffersmanage buffer
C-r`recentf-open-files`list recently opened filesmanage buffer
C-x C-f`find-file`load file to current buffermanage buffer
C-x C-w write current buffer to a filemanage buffer
C-x C-v Ret`find-another-file`load another file to current buffer, by default reload the same filemanage buffer
`revert-buffer`get rid of extensive changes made to current buffer and revert back to manage buffer["Reverting a buffer." *GNU Emacs Manual*.](http://www.gnu.org/software/libtool/manual/emacs/Reverting.html)
C-x b`switch-to-buffer`switch to buffermanage buffer
C-x C-w save buffer to another filemanage buffer
C-x C-+ increase font sizemanage buffer
C-x C-+ decrease font sizemanage buffer
C-x b arrow key select buffer to load into current framemanage buffer
C-x 0 close current windowmanage frame/window
C-x 0 5 close current framemanage frame/window
C-x 3 split frame verticallymanage frame/window
C-x 2 split frame horizontallymanage frame/window
C-x 5 2 open a new frame manage frame/window
C-x o`other-window`move cursor to other window in the current framemanage frame/window
C-q cancel current commandmanage commands
C-l C-\ `chinese-punct` type Chinese punctuationmiscType C-l C-\ to turn on/off the input method
C-x C-h get help text in another buffermisc
M-Tab find possible word completionmisc