For many years now, I have been using the console to do most of my tasks. In this post, I will enumerate all the tools and applications I use to make my life easier on the terminal.
The most important application, when going text-mode is the terminal emulator. This is where I spend most of my time and choosing the right one makes the experience so much smoother.
On any platform, I look for
- Split Windows - This is massively important to me as I work on multiple remote servers and I need to see activity on all of them simultaneously. Using keyboard shortcuts lets me navigate to the pane I am interested in, maximise it, work and then restore it back to its original size.
- Keyboard shortcuts - Without keyboard shortcuts to navigate between panes and maximise them, any terminal emulator is, quite frankly, useless.
- Transparency support - Another important factor. Most people don't realise that setting the transparency to something between 80-90% means not only can you work comfortably in the current window, but you can see what's happening under it as well! I usually have 2 iTerms/Terminators on top of each other. The one in the background has its panes constantly spewing out status updates, while the one on top is where I code.
- 256 colours - Mesa like pretty colours. You can enable 256 colour support in vim by adding
set t_Co=256to your
On a Mac
When I am on a Mac, nothing quite beats iTerm. Although the terminal application in Mac OS Lion has improved a lot since Snow Leopard, it's still nowhere close to iTerm.
I use Terminator which can be installed by issuing a
sudo apt-get install terminator on Debian-derived systems. It has most of the features of iTerm, including tabbed and split-screen windows and customizable keyboard shortcuts.
When I am on Windows, I use a combination of Cygwin and Putty (with Paegent). The thing I miss the most is the ability to split terminals like iTerm or Terminator. I get around it by tiling windows but it's still not the same thing.
Vim wins :-).
I use either w3m or lynx although I am a little partial to the latter as I started using it in 1997.
While mutt is more powerful, the simplicity of alpine and the fact that it is easy to set up multiple Gmail accounts without jumping though the hoops of fetchmail and sendmail means I use alpine more often. I do miss mutt though and sometimes sneak in some time with it.
Use ssh-agent to save your private keys
ssh-agent lets you save your password once per session. This is really handy if you have to constantly ssh into multiple servers or pull/push git/hg repositories. To use it, first run
pravin@pravin-pc:~$ ssh-agent SSH_AUTH_SOCK=/tmp/ssh-bLAqHxf21857/agent.21857; export SSH_AUTH_SOCK; SSH_AGENT_PID=21858; export SSH_AGENT_PID; echo Agent pid 21858;
This done, add your ssh keys by running this command once for each key
pravin@pravin-pc:~$ ssh-add Enter passphrase for /home/pravin/.ssh/id_rsa: Identity added: /home/pravin/.ssh/id_rsa (/home/pravin/.ssh/id_rsa)