Difference between revisions of "Emacs"
Line 14: | Line 14: | ||
* M-q text align | * M-q text align | ||
* C-g quit command minibuffer | * C-g quit command minibuffer | ||
+ | |||
+ | == Full List == | ||
+ | |||
+ | Emacs Commands List | ||
+ | |||
+ | C = Control | ||
+ | M = Meta = Alt|Esc | ||
+ | |||
+ | Basics | ||
+ | C-x C-f "find" file i.e. open/create a file in buffer | ||
+ | C-x C-s save the file | ||
+ | C-x C-w write the text to an alternate name | ||
+ | C-x C-v find alternate file | ||
+ | C-x i insert file at cursor position | ||
+ | C-x b create/switch buffers | ||
+ | C-x C-b show buffer list | ||
+ | C-x k kill buffer | ||
+ | C-z suspend emacs | ||
+ | C-X C-c close down emacs | ||
+ | |||
+ | Basic movement | ||
+ | C-f forward char | ||
+ | C-b backward char | ||
+ | C-p previous line | ||
+ | C-n next line | ||
+ | M-f forward one word | ||
+ | M-b backward one word | ||
+ | C-a beginning of line | ||
+ | C-e end of line | ||
+ | C-v one page up | ||
+ | M-v scroll down one page | ||
+ | M-< beginning of text | ||
+ | M-> end of text | ||
+ | |||
+ | Editing | ||
+ | M-n repeat the following command n times | ||
+ | C-u repeat the following command 4 times | ||
+ | C-u n repeat n times | ||
+ | C-d delete a char | ||
+ | M-d delete word | ||
+ | M-Del delete word backwards | ||
+ | C-k kill line | ||
+ | |||
+ | C-Space Set beginning mark (for region marking for example) | ||
+ | C-W "kill" (delete) the marked region region | ||
+ | M-W copy the marked region | ||
+ | C-y "yank" (paste) the copied/killed region/line | ||
+ | M-y yank earlier text (cycle through kill buffer) | ||
+ | C-x C-x exchange cursor and mark | ||
+ | |||
+ | C-t transpose two chars | ||
+ | M-t transpose two words | ||
+ | C-x C-t transpose lines | ||
+ | M-u make letters uppercase in word from cursor position to end | ||
+ | M-c simply make first letter in word uppercase | ||
+ | M-l opposite to M-u | ||
+ | |||
+ | Important | ||
+ | C-g quit the running/entered command | ||
+ | C-x u undo previous action | ||
+ | M-x revert-buffer RETURN (insert like this) undo all changes since last save | ||
+ | M-x recover-file RETURN Recover text from an autosave-file | ||
+ | M-x recover-session RETURN if you edited several files | ||
+ | |||
+ | Online-Help | ||
+ | C-h c which command does this keystroke invoke | ||
+ | C-h k which command does this keystroke invoke and what does it do? | ||
+ | C-h l what were my last 100 typed keys | ||
+ | C-h w what key-combo does this command have? | ||
+ | C-h f what does this function do | ||
+ | C-h v what's this variable and what is it's value | ||
+ | C-h b show all keycommands for this buffer | ||
+ | C-h t start the emacs tutorial | ||
+ | C-h i start the info reader | ||
+ | C-h C-k start up info reader and go to a certain key-combo point | ||
+ | C-h F show the emacs FAQ | ||
+ | C-h p show infos about the Elisp package on this machine | ||
+ | |||
+ | Search/Replace | ||
+ | C-s Search forward | ||
+ | C-r search backward | ||
+ | C-g return to where search started (if you are still in search mode) | ||
+ | M-% query replace | ||
+ | Space or y replace this occurence | ||
+ | Del or n don't replace | ||
+ | . only replace this and exit (replace) | ||
+ | , replace and pause (resume with Space or y) | ||
+ | ! replace all following occurences | ||
+ | ^ back to previous match | ||
+ | RETURN or q quit replace | ||
+ | |||
+ | |||
+ | Search/Replace with regular expressions | ||
+ | Characters to use in regular expressions: | ||
+ | ^ beginning of line | ||
+ | $ end of line | ||
+ | . single char | ||
+ | .* group or null of chars | ||
+ | \< beginning of a word | ||
+ | \> end of a word | ||
+ | [] every char inside the backets (for example [a-z] means every small letter) | ||
+ | |||
+ | M C-s RETURN search for regular expression forward | ||
+ | M C-r RETURN search for regular expression backward | ||
+ | M C-s incremental search | ||
+ | C-s repeat incremental search | ||
+ | M C-r incremental search backwards | ||
+ | C-r repeat backwards | ||
+ | M-x query-replace-regexp search and replace | ||
+ | |||
+ | Window-Commands | ||
+ | C-x 2 split window vertically | ||
+ | C-x o change to other window | ||
+ | C-x 0 delete window | ||
+ | C-x 1 close all windows except the one the cursors in | ||
+ | C-x ^ enlarge window | ||
+ | M-x shrink-window command says it ;-) | ||
+ | M C-v scroll other window | ||
+ | C-x 4 f find file in other window | ||
+ | C-x 4 o change to other window | ||
+ | C-x 4 0 kill buffer and window | ||
+ | C-x 5 2 make new frame | ||
+ | C-x 5 f find file in other frame | ||
+ | C-x 5 o change to other frame | ||
+ | C-x 5 0 close this frame | ||
+ | |||
+ | Bookmark commands | ||
+ | C-x r m set a bookmark at current cursor pos | ||
+ | C-x r b jump to bookmark | ||
+ | M-x bookmark-rename says it | ||
+ | M-x bookmark-delete " | ||
+ | M-x bookmark-save " | ||
+ | C-x r l list bookmarks | ||
+ | d mark bookmark for deletion | ||
+ | r rename bookmark | ||
+ | s save all listed bookmarks | ||
+ | f show bookmark the cursor is over | ||
+ | m mark bookmarks to be shown in multiple window | ||
+ | v show marked bookmarks (or the one the cursor is over) | ||
+ | t toggle listing of the corresponding paths | ||
+ | w " path to this file | ||
+ | x delete marked bookmarks | ||
+ | Del ? | ||
+ | q quit bookmark list | ||
+ | |||
+ | |||
+ | M-x bookmark-write write all bookmarks in given file | ||
+ | M-x bookmark-load load bookmark from given file | ||
+ | |||
+ | Shell | ||
+ | M-x shell starts shell modus | ||
+ | C-c C-c same as C-c under unix (stop running job) | ||
+ | C-d delete char forward | ||
+ | C-c C-d Send EOF | ||
+ | C-c C-z suspend job (C-z under unix) | ||
+ | M-p show previous commands | ||
+ | |||
+ | DIRectory EDitor (dired) | ||
+ | C-x d start up dired | ||
+ | C (large C) copy | ||
+ | d mark for erase | ||
+ | D delete right away | ||
+ | e or f open file or directory | ||
+ | g reread directory structure from file | ||
+ | G change group permissions (chgrp) | ||
+ | k delete line from listing on screen (don't actually delete) | ||
+ | m mark with * | ||
+ | n move to next line | ||
+ | o open file in other window and go there | ||
+ | C-o open file in other window but don't change there | ||
+ | P print file | ||
+ | q quit dired | ||
+ | Q do query-replace in marked files | ||
+ | R rename file | ||
+ | u remove mark | ||
+ | v view file content | ||
+ | x delete files marked with D | ||
+ | z compress file | ||
+ | M-Del remove all marks (whatever kind) | ||
+ | ~ mark backup files (name~ files) for deletion | ||
+ | # mark auto-save files (#name#) for deletion | ||
+ | */ mark directory with * (C-u * removes that mark again) | ||
+ | = compare this file with marked file | ||
+ | M-= compare this file with it's backup file | ||
+ | ! apply shell command to this file | ||
+ | M-} change to the next file marked with * od D | ||
+ | M-{ " previous " | ||
+ | % d mark files described through regular expression for deletion | ||
+ | % m " (with *) | ||
+ | + create directory | ||
+ | > changed to next dir | ||
+ | < change to previous dir | ||
+ | s toggle between sorting by name or date | ||
+ | |||
+ | Maybe into this category also fits this command: | ||
+ | M-x speedbar starts up a separate window with a directory view | ||
+ | |||
+ | Telnet | ||
+ | M-x telnet starts up telnet-modus | ||
+ | C-d either delete char or send EOF | ||
+ | C-c C-c stop running job (similar to C-c under unix) | ||
+ | C-c C-d send EOF | ||
+ | C-c C-o clear output of last command | ||
+ | C-c C-z suspend execution of command | ||
+ | C-c C-u kill line backwards | ||
+ | M-p recall previous command | ||
+ | |||
+ | Text | ||
+ | Works only in text mode | ||
+ | M-s center line | ||
+ | M-S center paragraph | ||
+ | M-x center-region name says | ||
+ | |||
+ | Macro-commands | ||
+ | C-x ( start macro definition | ||
+ | C-x ) end of macro definition | ||
+ | C-x e execute last definied macro | ||
+ | M-n C-x e execute last defined macro n times | ||
+ | M-x name-last-kbd-macro give name to macro (for saving) | ||
+ | M-x insert-keyboard-macro save named macro into file | ||
+ | M-x load-file load macro | ||
+ | M-x macroname execute macroname | ||
+ | |||
+ | Programming | ||
+ | M C-\ indent region between cursor and mark | ||
+ | M-m move to first (non-space) char in this line | ||
+ | M-^ attach this line to previous | ||
+ | M-; formatize and indent comment | ||
+ | C, C++ and Java Modes | ||
+ | M-a beginning of statement | ||
+ | M-e end of statement | ||
+ | M C-a beginning of function | ||
+ | M C-e end of function | ||
+ | C-c RETURN Set cursor to beginning of function and mark at the end | ||
+ | C-c C-q indent the whole function according to indention style | ||
+ | C-c C-a toggle modus in which after electric signs (like {}:';./*) emacs does the indention | ||
+ | C-c C-d toggle auto hungry mode in which emacs deletes groups of spaces with one del-press | ||
+ | C-c C-u go to beginning of this preprocessor statement | ||
+ | C-c C-c comment out marked area | ||
+ | More general (I guess) | ||
+ | M-x outline-minor-mode collapses function definitions in a file to a mere {...} | ||
+ | M-x show-subtree If you are in one of the collapsed functions, this un-collapses it | ||
+ | In order to achive some of the feats coming up now you have to run etags *.c *.h *.cpp (or what ever ending you source files have) in the source directory | ||
+ | M-. (Thats Meta dot) If you are in a function call, this will take you to it's definition | ||
+ | M-x tags-search ENTER Searches through all you etaged | ||
+ | M-, (Meta comma) jumps to the next occurence for tags-search | ||
+ | M-x tags-query-replace yum. This lets you replace some text in all the tagged files | ||
+ | |||
+ | |||
+ | GDB (Debugger) | ||
+ | M-x gdb starts up gdm in an extra window | ||
+ | |||
+ | Version Control | ||
+ | C-x v d show all registered files in this dir | ||
+ | C-x v = show diff between versions | ||
+ | C-x v u remove all changes since last checkin | ||
+ | C-x v ~ show certain version in different window | ||
+ | C-x v l print log | ||
+ | C-x v i mark file for version control add | ||
+ | C-x v h insert version control header into file | ||
+ | C-x v r check out named snapshot | ||
+ | C-x v s create named snapshot | ||
+ | C-x v a create changelog file in gnu-style |
Revision as of 23:16, 3 December 2012
- open file C-x C-f
- save file C-x C-s
- search C-s
- M-x minibuffer
- quit C-x C-c
- C-x 1 keel only current window
- C-x 2
- C-x 3
- C-h t open help doc
- C-a Home C-e End
- C-v PGDN M-v PGUP
- C-f, M-f, forward char/word
- C-b, M-b, backward char/word
- M-q text align
- C-g quit command minibuffer
Full List
Emacs Commands List
C = Control M = Meta = Alt|Esc
Basics C-x C-f "find" file i.e. open/create a file in buffer C-x C-s save the file C-x C-w write the text to an alternate name C-x C-v find alternate file C-x i insert file at cursor position C-x b create/switch buffers C-x C-b show buffer list C-x k kill buffer C-z suspend emacs C-X C-c close down emacs
Basic movement C-f forward char C-b backward char C-p previous line C-n next line M-f forward one word M-b backward one word C-a beginning of line C-e end of line C-v one page up M-v scroll down one page M-< beginning of text M-> end of text
Editing M-n repeat the following command n times C-u repeat the following command 4 times C-u n repeat n times C-d delete a char M-d delete word M-Del delete word backwards C-k kill line
C-Space Set beginning mark (for region marking for example) C-W "kill" (delete) the marked region region M-W copy the marked region C-y "yank" (paste) the copied/killed region/line M-y yank earlier text (cycle through kill buffer) C-x C-x exchange cursor and mark
C-t transpose two chars M-t transpose two words C-x C-t transpose lines M-u make letters uppercase in word from cursor position to end M-c simply make first letter in word uppercase M-l opposite to M-u
Important C-g quit the running/entered command C-x u undo previous action M-x revert-buffer RETURN (insert like this) undo all changes since last save M-x recover-file RETURN Recover text from an autosave-file M-x recover-session RETURN if you edited several files
Online-Help C-h c which command does this keystroke invoke C-h k which command does this keystroke invoke and what does it do? C-h l what were my last 100 typed keys C-h w what key-combo does this command have? C-h f what does this function do C-h v what's this variable and what is it's value C-h b show all keycommands for this buffer C-h t start the emacs tutorial C-h i start the info reader C-h C-k start up info reader and go to a certain key-combo point C-h F show the emacs FAQ C-h p show infos about the Elisp package on this machine
Search/Replace C-s Search forward C-r search backward C-g return to where search started (if you are still in search mode) M-% query replace Space or y replace this occurence Del or n don't replace . only replace this and exit (replace) , replace and pause (resume with Space or y) ! replace all following occurences ^ back to previous match RETURN or q quit replace
Search/Replace with regular expressions
Characters to use in regular expressions:
^ beginning of line
$ end of line
. single char
.* group or null of chars
\< beginning of a word
\> end of a word
[] every char inside the backets (for example [a-z] means every small letter)
M C-s RETURN search for regular expression forward M C-r RETURN search for regular expression backward M C-s incremental search C-s repeat incremental search M C-r incremental search backwards C-r repeat backwards M-x query-replace-regexp search and replace
Window-Commands C-x 2 split window vertically C-x o change to other window C-x 0 delete window C-x 1 close all windows except the one the cursors in C-x ^ enlarge window M-x shrink-window command says it ;-) M C-v scroll other window C-x 4 f find file in other window C-x 4 o change to other window C-x 4 0 kill buffer and window C-x 5 2 make new frame C-x 5 f find file in other frame C-x 5 o change to other frame C-x 5 0 close this frame
Bookmark commands C-x r m set a bookmark at current cursor pos C-x r b jump to bookmark M-x bookmark-rename says it M-x bookmark-delete " M-x bookmark-save " C-x r l list bookmarks d mark bookmark for deletion r rename bookmark s save all listed bookmarks f show bookmark the cursor is over m mark bookmarks to be shown in multiple window v show marked bookmarks (or the one the cursor is over) t toggle listing of the corresponding paths w " path to this file x delete marked bookmarks Del ? q quit bookmark list
M-x bookmark-write write all bookmarks in given file
M-x bookmark-load load bookmark from given file
Shell M-x shell starts shell modus C-c C-c same as C-c under unix (stop running job) C-d delete char forward C-c C-d Send EOF C-c C-z suspend job (C-z under unix) M-p show previous commands
DIRectory EDitor (dired) C-x d start up dired C (large C) copy d mark for erase D delete right away e or f open file or directory g reread directory structure from file G change group permissions (chgrp) k delete line from listing on screen (don't actually delete) m mark with * n move to next line o open file in other window and go there C-o open file in other window but don't change there P print file q quit dired Q do query-replace in marked files R rename file u remove mark v view file content x delete files marked with D z compress file M-Del remove all marks (whatever kind) ~ mark backup files (name~ files) for deletion
- mark auto-save files (#name#) for deletion
- / mark directory with * (C-u * removes that mark again)
= compare this file with marked file M-= compare this file with it's backup file ! apply shell command to this file M-} change to the next file marked with * od D M-{ " previous " % d mark files described through regular expression for deletion % m " (with *) + create directory > changed to next dir < change to previous dir s toggle between sorting by name or date
Maybe into this category also fits this command: M-x speedbar starts up a separate window with a directory view
Telnet M-x telnet starts up telnet-modus C-d either delete char or send EOF C-c C-c stop running job (similar to C-c under unix) C-c C-d send EOF C-c C-o clear output of last command C-c C-z suspend execution of command C-c C-u kill line backwards M-p recall previous command
Text Works only in text mode M-s center line M-S center paragraph M-x center-region name says
Macro-commands C-x ( start macro definition C-x ) end of macro definition C-x e execute last definied macro M-n C-x e execute last defined macro n times M-x name-last-kbd-macro give name to macro (for saving) M-x insert-keyboard-macro save named macro into file M-x load-file load macro M-x macroname execute macroname
Programming M C-\ indent region between cursor and mark M-m move to first (non-space) char in this line M-^ attach this line to previous M-; formatize and indent comment C, C++ and Java Modes M-a beginning of statement M-e end of statement M C-a beginning of function M C-e end of function C-c RETURN Set cursor to beginning of function and mark at the end C-c C-q indent the whole function according to indention style C-c C-a toggle modus in which after electric signs (like {}:';./*) emacs does the indention C-c C-d toggle auto hungry mode in which emacs deletes groups of spaces with one del-press C-c C-u go to beginning of this preprocessor statement C-c C-c comment out marked area More general (I guess) M-x outline-minor-mode collapses function definitions in a file to a mere {...} M-x show-subtree If you are in one of the collapsed functions, this un-collapses it In order to achive some of the feats coming up now you have to run etags *.c *.h *.cpp (or what ever ending you source files have) in the source directory M-. (Thats Meta dot) If you are in a function call, this will take you to it's definition M-x tags-search ENTER Searches through all you etaged M-, (Meta comma) jumps to the next occurence for tags-search M-x tags-query-replace yum. This lets you replace some text in all the tagged files
GDB (Debugger)
M-x gdb starts up gdm in an extra window
Version Control C-x v d show all registered files in this dir C-x v = show diff between versions C-x v u remove all changes since last checkin C-x v ~ show certain version in different window C-x v l print log C-x v i mark file for version control add C-x v h insert version control header into file C-x v r check out named snapshot C-x v s create named snapshot C-x v a create changelog file in gnu-style