C = Control
M = Meta = Alt|Esc
BasicsC-x C-f
"find" file i.e. open/create a file in bufferC-x C-s
save the fileC-x C-w
write the text to an alternate nameC-x C-v
find alternate fileC-x i
insert file at cursor positionC-x b
create/switch buffersC-x C-b
show buffer listC-x k
kill bufferC-z
suspend emacs C-X C-c
close down emacs
Basic movementC-f
forward charC-b
backward charC-p
previous lineC-n
next lineM-f
forward one wordM-b
backward one wordC-a
beginning of lineC-e
end of lineC-v
one page upM-v
scroll down one pageM-<
beginning of textM->
end of text
EditingM-n
repeat the following command n timesC-u
repeat the following command 4 timesC-u n
repeat n timesC-d
delete a charM-d
delete wordM-Del
delete word backwardsC-k
kill lineC-Space
Set beginning mark (for region marking for example)C-W
"kill" (delete) the marked region regionM-W
copy the marked regionC-y
"yank" (paste) the copied/killed region/lineM-y
yank earlier text (cycle through kill buffer)C-x C-x
exchange cursor and markC-t
transpose two charsM-t
transpose two wordsC-x C-t
transpose linesM-u
make letters uppercase in word from cursor position to endM-c
simply make first letter in word uppercaseM-l
opposite to M-u
ImportantC-g
quit the running/entered commandC-x u
undo previous actionM-x revert-buffer RETURN
(insert like this) undo all changes since last saveM-x recover-file RETURN
Recover text from an autosave-fileM-x recover-session RETURN
if you edited several files
Online-HelpC-h c
which command does this keystroke invokeC-h k
which command does this keystroke invoke and what does it do?C-h l
what were my last 100 typed keysC-h w
what key-combo does this command have?C-h f
what does this function doC-h v
what's this variable and what is it's valueC-h b
show all keycommands for this bufferC-h t
start the emacs tutorialC-h i
start the info readerC-h C-k
start up info reader and go to a certain key-combo pointC-h F
show the emacs FAQC-h p
show infos about the Elisp package on this machine
Search/ReplaceC-s
Search forwardC-r
search backwardC-g
return to where search started (if you are still in search mode)M-%
query replace
Space or y
replace this occurenceDel 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 matchRETURN 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 forwardM C-r RETURN
search for regular expression backwardM C-s
incremental searchC-s
repeat incremental searchM C-r
incremental search backwardsC-r
repeat backwardsM-x query-replace-regexp
search and replace
Window-CommandsC-x 2
split window verticallyC-x o
change to other windowC-x 0
delete windowC-x 1
close all windows except the one the cursors inC-x ^
enlarge windowM-x shrink-window
command says it ;-)M C-v
scroll other windowC-x 4 f
find file in other windowC-x 4 o
change to other windowC-x 4 0
kill buffer and windowC-x 5 2
make new frameC-x 5 f
find file in other frameC-x 5 o
change to other frameC-x 5 0
close this frame
Bookmark commandsC-x r m
set a bookmark at current cursor posC-x r b
jump to bookmarkM-x bookmark-rename
says itM-x bookmark-delete
"M-x bookmark-save
"C-x r l
list bookmarks
d
mark bookmark for deletionr
rename bookmarks
save all listed bookmarksf
show bookmark the cursor is overm
mark bookmarks to be shown in multiple windowv
show marked bookmarks (or the one the cursor is over)t
toggle listing of the corresponding pathsw
" path to this filex
delete marked bookmarksDel
?q
quit bookmark list
M-x bookmark-write
write all bookmarks in given fileM-x bookmark-load
load bookmark from given file
ShellM-x shell
starts shell modusC-c C-c
same as C-c under unix (stop running job)C-d
delete char forwardC-c C-d
Send EOFC-c C-z
suspend job (C-z under unix)M-p
show previous commands
DIRectory EDitor (dired)C-x d
start up diredC
(large C) copy d
mark for eraseD
delete right awaye or f
open file or directoryg
reread directory structure from fileG
change group permissions (chgrp)k
delete line from listing on screen (don't actually delete)m
mark with *n
move to next lineo
open file in other window and go thereC-o
open file in other window but don't change thereP
print fileq
quit diredQ
do query-replace in marked filesR
rename fileu
remove markv
view file contentx
delete files marked with Dz
compress fileM-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 fileM-=
compare this file with it's backup file!
apply shell command to this fileM-}
change to the next file marked with * od DM-{
" previous "% d
mark files described through regular expression for deletion% m
" (with *)+
create directory>
changed to next dir<
change to previous dirs
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
TelnetM-x telnet
starts up telnet-modusC-d
either delete char or send EOFC-c C-c
stop running job (similar to C-c under unix)C-c C-d
send EOFC-c C-o
clear output of last commandC-c C-z
suspend execution of commandC-c C-u
kill line backwardsM-p
recall previous command
Text
Works only in text mode M-s
center lineM-S
center paragraphM-x center-region
name says
Macro-commandsC-x (
start macro definitionC-x )
end of macro definitionC-x e
execute last definied macroM-n C-x e
execute last defined macro n timesM-x name-last-kbd-macro
give name to macro (for saving)M-x insert-keyboard-macro
save named macro into fileM-x load-file
load macroM-x macroname
execute macroname
ProgrammingM C-
indent region between cursor and markM-m
move to first (non-space) char in this lineM-^
attach this line to previousM-;
formatize and indent comment
C, C++ and Java ModesM-a
beginning of statementM-e
end of statementM C-a
beginning of functionM C-e
end of functionC-c RETURN
Set cursor to beginning of function and mark at the endC-c C-q
indent the whole function according to indention styleC-c C-a
toggle modus in which after electric signs (like {}:';./*) emacs does the indentionC-c C-d
toggle auto hungry mode in which emacs deletes groups of spaces with one del-pressC-c C-u
go to beginning of this preprocessor statementC-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 directoryM-.
(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 ControlC-x v d
show all registered files in this dirC-x v =
show diff between versionsC-x v u
remove all changes since last checkinC-x v ~
show certain version in different windowC-x v l
print logC-x v i
mark file for version control addC-x v h
insert version control header into fileC-x v r
check out named snapshotC-x v s
create named snapshotC-x v a
create changelog file in gnu-style