| Start and Stop | 
	
	  | 
	   Emacs is located in /usr/bin or
	  /usr/local/bin on any sane system. This of course
	  means that it is located in /usr/local/gnu on the
	  CS network.
	   To start emacs:romulus: [~] emacs
 or
 romulus: [~] emacs filename1 filename2 ...
 or
 romulus: [~] emacs -nw
 or
 romulus: [~] emacs -nw filename1 filename2 ...
 
 To stop emacs:ctrl-x ctrl-c
 
 To cancel whatever you are doing:ctrl-g
 
 
 | 
	
	  | Files | 
	
	  | 
	   To open a file within emacs:ctrl-x ctrl-f
 
 To save the current file:ctrl-x ctrl-s
 
 To save the current file with a new name (Windows: Save As...):ctrl-x ctrl-w
 
 To save ALL open files:ctrl-x s
 
 
 | 
	
	  | Buffers | 
	
	  | 
	   Don't quit! If you learn how to read in multiple files
	  into buffers in Emacs, you should never have to quit Emacs
	  anymore, except at logout.
	   Switching to the next buffer is faster than starting a
	  fresh Emacs session, and you still have your files around,
	  cursor positioned at the point where you left off, et
	  cetera. 
	   To switch buffers using a buffer list:ctrl-x ctrl-b
 
 To switch buffers by name:ctrl-x b
 
 To kill a buffer:ctrl-x k
 
 
 | 
	
	  | Help | 
	
	  |  
	   A tutorial for beginners featuring hands-on learning:ctrl-h t
 
 The info system (hypertext man pages):ctrl-h i
 On an info menu screen use:
 
 
	   m - select the current option/link
	   p - go back to the previous page
	   n - go forward to the next page
	   t - go to the top of the page
	   q - quit (or just kill the info buffer)
	   For an overview of the predefined key bindings (commands):ctrl-h b
 
 
 | 
	
	  | Moving Around | 
	
	  | 
	   For normal movement use the arrow keys. There is no
	  beep mode.
           Go to the beginning of a line:ctrl-a
 
 Go to the end of a line:ctrl-e
 
 Go to the beginning of a function:ctrl-meta-a
 
 Go to the end of a function:ctrl-meta-e
 
 Go to the beginning of the buffer:meta-<
 
 Go to the end of the buffer:meta->
 
 To go directly to a specific line number:ESC-g
 
 
 | 
	
	  | Editing Text | 
	
	  | 
	   Emacs has two text editing modes: insert mode and
	  overwrite mode. Use the insert key to switch between them.
	   Emacs doesn't believe in the delete key use:ctrl-d
 
 To kill a line (from the cursor to the end of line):ctrl-k
 
 To paste a recently killed block (emacs calls paste yank):ctrl-y
 
 Undo!ctrl-x u
 
 
 | 
	
	  | Searching | 
	
	  | 
	   To search:ctrl-s
 
 To repeat search (find next...):ctrl-s
 
 To search and replace:meta-shift-5
 or
 meta-%
 When you do a search and replace you will be prompted for
	  each match. Proper responses are:
 
	  y - yes replace this match
	  n - no do not replace this match
	  ! - I am insane, replace all remaining matches
	   | 
	
	  | Splitting The Screen | 
	
	  | 
	   Horizontal split :ctrl-x 2
 
 Vertical split:ctrl-x 3
 
 Jump to the other window:ctrl-x o
 
 Scroll the other window:ctrl-meta-v
 
 Revert to single window:ctrl-x 1
 
 
 | 
	
	  | Marking Regions | 
	
	  | 
	   Marking allows you to select a region just as though
	  you highlighted it with the mouse. You can then perform
	  various operations on the region between
	  the mark and the current cursor position.
	   Set Mark Here:ctrl-space
 
 Mark Paragraph:meta-h
 
 Mark Function:ctrl-meta-h
 
 Mark Whole Buffer (Select All...):ctrl-x h
 
 Cut region:ctrl-w
 
 Copy region:meta-w
 
 
 | 
	
	  | Emacs as an IDE | 
	
	  | 
	   Fancy file headers:meta-x make-header
 
 Version Control:
 Register a file for version controlC-x v i
 
 Commits a modified file that's already been registered
        for version controlC-x v v
 
 Save the revision comment and commit the changeC-c C-c
 
 Revert a buffer to the last revisionC-x v u
 
 See differences between buffer and last revisionC-x v =
 
 Retreive a given revision in another windowC-x v ~
 
 Compile:meta-x compile
 
 Next Compiler Error:C-x `             
(a backtick)
 
 Debug:meta-x gdb
 Hex Editor:meta-x hexel-mode
 
 
 | 
	  | Stupid Emacs Tricks | 
	
	  | 
	   Spell checker:meta-x ispell-buffer
 
 Execute any shell command:meta-!
 
 Start a new shell within emacs:meta-x shell
 
 Send and Read email:meta-x rmail
 
 Send and Read news posts:meta-x gnus
 
Using ftp is as simple as reading in a file (ctrl-x
          ctrl-f) and using a filename consisting of a username,
          site, and file in the following syntax:/(username)@(site):(file)
 (e.g. /anonymous@ftp.cerias.purdue.edu:/pub)
 Ange may then prompt you for a password. If the file
	    opened was a regular file, it will be sucked into a buffer
	    without copying it into your directory. You can also specify
	    directories as as in the above example. Ange then uses the
	    directory editor.
 
 Recover lost file after a crash:meta-x recover-file
 
 Restore a buffer to its original contents:meta-x revert-buffer
 
 Seek professional help:meta-x doctor
 
 
 | 
	
	  | Links and Stuff | 
	
	  |  |