Laptop Driven Development (with Emacs)

October 26, 2010

I read an interesting post over on Bernerd Schaefers blog the other day where he described his set up for coding when you only have a small screen. He talks about methods for switching between VIM and a terminal. If you're an emacs user, like me, it's more common to run your terminal inside emacs.

I use the homebrew package manager for OS X. One thing this allows me to do is compile emacs from source with support for true full-screen mode

$ brew install emacs --cocoa
$ ln -s /usr/local/Cellar/emacs/23.2/ /Applications/

This gives me a recent emacs with a great, full-screen mode which I activate by running M-x ns-toggle-fullscreen

Emacs fullscreen screenshot

That's my entire screen - no menubars, docks or other OS paraphernalia. I can switch to a shell for running my unit tests by typing M-x eshell (or for a standard bash shell M-x shell)

Emacs terminal screenshot

Since the usable area of the screen is quite large, thanks to the fullscreen mode, I also have room to split the frame in two (M-x split-window-vertically) to see, for example, tests and implementation at the same time

Emacs terminal screenshot

Or, occasionally, to pop open the shell buffer for quickly issuing a command

Emacs terminal screenshot

I find emacs to be a great environment to work in on a smaller screen. You can see more of my emacs configuration on github.