Staging files in Magit

i add individual filenames to .gitignore C-u i will prompt for name of file to add to .gitignore

Type Tab to toggle details. For example, typing Tab when point is on modified files shows diff between working copy and last commit.

Making a Commit in Magit

c to pop open a commit buffer to write a comment C-c C-c to perform the commit

View Log Messages in Magit

l while in *magit-status* gives log of commits

Subversion

(I don't use this very often)

M-x svn-examine, then choose dir. This puts you into svn-status mode.

Once in svn-status:

g to update

c to commit

a to add

U to update

m to mark

if file is in conflict use, vc-resolve-conflicts to open ediff once conflicts are resolved, use svn-status-resolved to resolve file (if you're in svn-status dired view, make sure to mark the file(s) first

Ediff and Comparing files and directories/folders

To compare directories. Open one directory in diff and then use: M-x dired-compare-directories. By default, this does a simple comparison of whether all filenames in dir A match all filenames in dir B.

Ruby

(There's probably better ways to do this; I haven't written any ruby in a while)

Tramp Mode

Tramp mode allows you to ssh into remote hosts and view in emacs just as if they were local files! (Very slick).

On windows, use /plink:user@host:/filepath

Cool: if you open eshell while browsing a remote directory, it'll open a remote eshell!

Undo

C-_ can be used to cycle thru the previous undo's. Every time you do a C-_ it makes a change that is added to the stack of undos. But as long as you continue consecutive C-_ commands, you are moving down the stack. To stop moving down the stack, simply do any other command other than a C-_ (like C-f). After that, type C-_ will "redo".

Frames (things that are called windows outside of emacs)

C-x o switch between frames

Tail

Need itail package (I think that's the name of it) Open a file, and use auto-revert-tail-mode

Minor Modes

Check out Emacs Rocks! for a great demonstration of how to create minor modes

Spelling

I think you need aspell for ispell-mode to work on os x. But tried compiling aspell and it failed with error message, haven't had a chance to get back to troubeshooting

UTF8 chars

C-x 8 <unicode number> See ucs-commands.el

Or use input methods. Change input method using `C-‘ and choose rfc1345. Then use combo of ampersand + other keys to write utf8 chars.