cmd.exe replacement in Windows 7/8

As someone who bounces back and forth between Windows, Mac OS X, and Linux, one of the most consistently frustrating aspects of Windows is the lack of decent terminal emulation support. I’ve always been a fan of the simplicity of cygwin+mintty but it has always been lacking tab functionality along with a few other nice-to-haves – especially when compared with a more evolved terminal emulator in Gnome or OS X. A coworker recently pointed me in the direction of ‘cmder’, a conemu repackage that pre-configures a lot necessary settings to make the user experience more streamlined. cmder-mini is a portable version of the program – all settings and data are confined to the directory it is extracted to. My goal was to configure something lightweight and that rivals mintty, Console2, and ConsoleZ in terms of both usability and features.

Please note the main focus when I use terminal emulation on Windows is connecting from my windows host to a remote UNIX server, so Powershell and cmd.exe integration are not covered here (although they work out of the box). I also don’t care about most basic Linux binaries within Windows, besides the fact that they perform horribly due to the missing fork() functionality. I just need something that supports SSH and bind-utils natively.

https://github.com/bliker/cmder/releases/download/v1.1.1/cmder_mini.zip
http://cygwin.com/setup-x86_64.exe

Requirements:

  • Cygwin with openSSH and bind-utils, cmder-mini zip file

Install cygwin, extract cmder-mini to desired location, open ‘Cmder.bat’, right click on taskbar, ‘Settings’

Default shell of Cygwin bash:

  • Startup -> Tasks: Click ‘+’
  • Name: ‘cygwin-bash’
  • Task Parameters: ‘/dir “C:cygwin64home<user>”‘
  • File Path…: ‘C:cygwin64Cygwin.bat’
  • Startup: Specified Named Task: ‘{cygwin-bash}’

Ctrl+T to create a new tab, select ‘cygwin bash’ as shell, and away you go…

 

cmder

 

### Tab manipulation

* `Ctrl + t` : new tab dialog (maybe you want to open cmd as admin?)
* `Ctrl + w` : close tab
* `Ctrl + alt + number` : fast new tab: `1` – CMD, `2` – Powershell `*` – More to come
* `Alt + enter`: Fullscreen

### Shell

* `Shift + Up` : Traverse up in directory structure (lovely feature!)
* `End, Home, ctrl` : Traversing text with as usual on Windows
* `Ctrl + r` : History search
* `Shift + mouse` : Select and copy text from buffer

 

I’m sure there are tons of other options to configure to make this shinier, but this basic configuration should get anyone looking to connect to a remote host via SSH using tabs (!!!) off to a good start.

Edit: So I discovered that it’s impossible to pin a shortcut to a batch file onto the Windows 7 taskbar.  Here’s a workaround:

  • Right click on ‘Cmder.bat’ and select ‘Send To -> Desktop’
  • On Desktop, right click on ‘Cmder.bat – Shortcut’ and select ‘Properties’
  • Change target to ‘cmd.exe /C “C:pathtoCmder.bat”‘, select ‘OK’ (change name here too if desired)
  • Drag edited shortcut to Taskbar