Recently, I started to rethink my workflow. I used to work with emacs occupying 80 columns and 2/3 of the screen vertical space, with another 1/3 below it used for a command line terminal to execute builds and tests. After the rethinking, I’ve settled with 81×70 in-terminal emacs (
emacs -nw). By 81×70, I mean the dimension setting in my Mac that makes a terminal with tabs stretch all the way from the top of the screen to the bottom (I forgot the exact terminal size in Ubuntu). It’s amazing how much I missed in the past by not extending the emacs terminal as long as it gets. With such a big space, I can visualize code much better (well, it has never been a problem before, but being able to see more code does apparently boost my confidence in my internal brain’s RAM).
Why 81 columns? Because I like to keep my code at 80 columns width. Yes, so why 81? Well, in emacs, if you type exactly 80 characters in an 80 by x terminal, the last character will fall off to the next line as the last column is used for the ‘\’ character indicating the line continuing in the next line. Having 81 by x gives me just enough space to type 80 characters. Any more and I’ll notice it falling off.
This setting works well for me in Ubuntu and Mac. I’ve tweaked my Mac fonts too. I’ve changed the default terminal font with Monaco 12pt., anti-aliased. It’s just wonderful (it’s the same font used in TextMate btw). Here is a sampler (the code in the emacs window is not mine; it’s someone’s extremely messy code I’m in the middle of cleaning up—stylistically—and soon rewrite, hopefully; there is a limit to messy code… Sigh).
Bonus tip: If you decided to code with good width limit (80 or 100 chars), you can tile several Terminal windows side-by-side. I’ve seen people with 4 terminal windows side by side in their kickass 30″. I have 2 emacs terminal side-by-side and another smaller sized terminal to run miscellaneous shell commands and scripts.