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