I’ve been using Emacs since I started writing my first program 5 years ago (well, actually I wrote HTML and CSS long before that, but that doesn’t count, right?). I never intend to move on to Vi, Nano, and especially IDE editor, because I simply just cant move my pinky finger from Ctrl, it just automatically gets stuck there. And the IDE editors are just too fancy for me. (By the way I used to play Counter Strike, and just can’t erase the habit of putting the finger there.)

Emacs vs Vi, Source: The Internet Patrol

Related discussion: IDE or Text Editor?

Anyway the most annoying problem when developing with Emacs is the project management, right? Since we don’t want to C-x C-c to grep some information, or split the Emacs window to then do some shell stuffs there. It’s pretty troublesome when you quit your Emacs and then you have to split the windows to your preference again. Times like these, usually you have to predefine the splitting functions to .emacs. It’s gonna waste more of your precious time again.

Well brace yourself, this tool is the perfect tool for project management for Emacs, e2wm

Basically there are 5 kinds of perspectives you can choose for splitting the window: Code, Two, Doc, Dashboard, and Array perspective, which respectively has different Emacs plugin, such as imenu, or bufferlist.

e2wm: code mode

e2wm: two mode

e2wm: code mode with shell window

To use e2wm is simple, what you have to do is just download e2wm-config.el, e2wm-vcs.el, and e2wm.el, and then put it in your Emacs path (usually is ~/.emacs.d/), and then add:

(require 'e2wm)
(global-set-key (kbd "M-+") 'e2wm:start-management)

to your .emacs file, and then start e2wm with C-+!

The github project for e2wm can be found here.