On Fri, Jan 4, 2013 at 6:34 PM, Anssi Saari <a...@sci.fi> wrote: > Ben Finney <ben+pyt...@benfinney.id.au> writes: > >> And any decent Unix-alike (most OSen apart from Windows) comes with its >> own IDE: the shell, a good text editor (Vim or Emacs being the primary >> candidates), and a terminal multiplexor (such as ‘tmux’ or GNU Screen). > > Just curious since I read the same thing in a programming book recently > (21st century C). So what's the greatness that terminal multiplexors > offer over tabbed terminals? Especially for software development?
The main thing is that you'll need a _lot_ of terminals. On my Debian and Ubuntu GNOME-based systems, I tend to assign one desktop to each of several "modes", usually with my (tabbed) editor and browser on the first desktop. At the moment, desktop #3 (hit Ctrl-Alt-RightArrow twice) is for building Pike, running Gypsum, and git-managing Gypsum; desktop #2 is for my poltergeist controllers (MIDI to my keyboard), with a few different windows depending on what I'm doing; and desktop #1 is... everything else. SciTE, Google Chrome, a couple of Nautilus windows, and roughly twenty terminals doing various things like Command & Conquer Renegade, iptables management, SSH sessions to two other servers, the Yosemite project... wow, what a lot of random junk I have running on Sikorsky at the moment. It seems I currently have 25 instances of bash running, in addition to the non-bash windows. Tabbed terminals probably would work fine, but I've personally just never gotten accustomed to any. You will want some kind of system that lets you group related shell sessions together (eg one for 'make', one for running the app, and one for git, all relating to one project), and add more terminals to a group as required. The most important editing key is command recall (up arrow or similar), and keeping three or four different command histories per project is hugely advantageous. ChrisA -- http://mail.python.org/mailman/listinfo/python-list