This post was originally published on Coding Glamour.

Two years ago I would've never guessed that I would be completely hooked on using the terminal. However, after moving to an operating system that had a decent terminal underneath I soon became a command line junky. Time to improve the retarded beast that they call 'cmd.exe' in Windows by adding some real terminal experience.

Yes, I'm aware of PowerShell. But the 'yet another syntax' is not for me.

The thing that annoys me the most is the inability to easily copy and paste text. On OS/X I can do this through CMD+C, CMD+V, and keep CTRL+C for terminating programs; on Linux I can use CTRL+SHIFT+C, but on Windows:

  1. Right-click and choose 'Mark'
  2. Drag selection
  3. Right click
  4. Go somewhere, right click again
  5. And choose 'Paste'

Or if you are a keyboard lover:
  1. Right-click and choose 'Mark'
  2. Drag selection
  3. Alt+Space for System Menu
  4. Press 'E' for Edit
  5. Press 'P' for Paste
A better terminal
The open source project Console (what's in a name) offers a Windows command line prompt that has configurable shortcuts, tabs and it remembers it's size when re-opening. I configured it this way so it resembles a Linux terminal.
  • On 'Console' tab: Tick 'Save on exit' under 'Window size'
  • On 'Appearance' tab: Set font name to 'Consolas'
  • On 'Appearance -> More...' tab: Untick 'Show toolbar' and 'Show status bar'; set alpha transparency to 15.
  • On 'Hotkeys': Set 'Copy selection' to 'Ctrl+Shift+C'; set 'Paste selection' to 'Ctrl+Shift+V'
  • On 'Hotkeys -> Mouse': Set Copy/clear selection to 'Left + Shift'; set 'Select text' to 'Left'
Tah dah, a nice looking command line that does copy/paste the same as in Linux and also supports tabs.
https://c9.io/janjongboom/dropbox/workspace/cmd1.PNG

And now some POSIX flavoured magic
But even with a decent command line experience I still miss stuff that I use in daily life. Think piping stuff through, the 'cat' command, or even the ability to use 'ls -al'. Time to add some POSIX magic to this show.

Basically everything that is required is already in the Cygwin package. Installing works fine on Windows 7 and this adds 'yet another terminal' to your system. Time to combine the niceties of Console with the qualities of Cygwin.

After installation go into the settings of Console, and on the 'Tabs' panel, set 'Title' to 'Bash', and 'Shell' to 'C:\cygwin\bin\bash.exe --login -i'. Now every time you open a new tab or window it'll open the cygwin shell. Yay, a normal terminal!
https://c9.io/janjongboom/dropbox/workspace/cmd2.PNG