Windows Terminal Replacements- 2 mins
Recently on twitter I saw a link to a blog post by Jim Priest about Windows Terminal replacements.
As much as I like Linux, the reality is that I spend a good deal of my work day in Windows, and I don't see that changing in a hurry. Until reading Jim's post, I had been using Console2 as a replacement for Windows' cmd.exe. It's been handy, but I wasn't completely sold on it.
So I decided to give ConEmu and Clink a try. My first reaction was that ConEmu is pretty damn ugly, but I've managed to make it look reasonable by changing the font to Consolas (size 18) and changing the Anti-aliasing setting to Clear Type. I also hid the status bar.
Clink gives some super nice stuff - in particular the ctrl-r history searching I love in bash. But I also want to be able to use GNU tools like find and grep. To me, these are the things that make the Linux command line so much superior.
That's where gnuwin32 comes in. I realise cygwin also gives you this stuff, but I gave it away a while ago for reasons I can't completely remember (various scripts borking at Windows paths I think - I'm sure there's a way around it, but basically I just came to realise I didn't actually need a full on bash shell - it was just the GNU tools I was after).
I like to load gnuwin32 to my path for interactive sessions only. To achieve this in ConEmu I had to make a few customisations. (Most of this is taken from a StackOverflow question about integrating Git Bash with ConEmu. I followed this blindly so it might not be the best way, but it works. ;-))
Firstly I created a new entry under ConEmu's Features -> Integration settings, shown below:
Next, I created a new task in Startup -> Tasks:
This task calls a script (init-gnuwin32.cmd) which adds gnuwin32 to the path then loads cmd.exe (which is actually now an alias for Clink...). The file looks like this:
Now after launching ConEmu you have a terminal with extra goodness, such as the ctrl-r history searching, courtesy of Clink:
And you GNU goodies like find, grep, ls, etc, courtesy of gnuwin32.
It's no *nix, but it's pretty decent, yes?