Emacs

Emacs has many of the same capabilities as an IDE, but unlike an IDE it offers those features without forcing you to do anything a certain way.

Viper (Is a Package for Emacs Rebels)

Viper is a package that enables VI keybindings in emacs, so if you already know how to use the one true text editor, you'll be right at home in emacs as well.

Enable with `M-x viper'.

Version Control

Emacs offers handy integration with a variety for version control backends (SVN, git, other's that nobody really uses...). Everything should work automagically if the version control directories (.git, .svn, etc.) exist.

  • `C-x v v': Automagically do the "next right thing". ie, add untracked files, commit new changes.
  • `C-x v d': Commit changes in a directory. Lets you mark files in a specified directory that you want to commit.
  • `C-x v =': Diff buffer with last revision.
  • `C-x v l': View revision log. From the log buffer, you can visit different revisions and diff them with HEAD.

Here is a nice tutorial.