Even though Windows has a command line, this command line is very limited when compared to the ones available on Mac or Linux.
Fortunately, there are (free) alternatives out there. In this article we’ll be looking at three of them: ConsoleZ, ConEmu, and Cmder
At the end of the day, we’re looking for the best tool. So I’ve assembled a comparison chart for these three tools to find out which one is the best for me and you.
Feature Comparison Chart ∞
Features are explained in more detail down below. Entries are highlighted when they are clearly superior.
|Installation||Chocolatey or Zip||Installer||Zip|
||Start menu||Double-click in Explorer|
|Auto Complete||Current Dir||Current Dir||Current Dir + Path|
|Cursor Navigation||(slightly better)|
|Selecting with Mouse||(with Shift)|
|Copy on select||(config)|
|Copy with Ctrl+C||(config)|
|Paste with right click||(config)|
|Paste with Ctrl+V||(config)|
|Show Current Process (Name)||(top level)||(actual)||(actual)|
|Show Current Process (PID)|
|Tabs||+ Hot Key||+ Hot Key|
|Separate Web Site||No||Yes||Yes|
- This chart is by no means exhaustive. It also just shows the features that we important to me when I was writing this article. You may find other features more important than me. If so, just leave a comment below and I’ll see whether I can add the feature to the list.
All of these tools provide lots of settings. The chart only reflects the default installation without any settings changes. I didn’t explore if certain features can be enabled in the settings of the tools.
- However, where I found out that a behavior is configurable but not enabled out-of-the-box, I added (config).
Cmder is actually build on top of ConEmu. So both tools share a similar feature set.
- What installation options are available. The installation of each tools has its problems/pitfalls. It’s not terrible but also certainly not super trivial.
- How to start the program.
- Whether colored output of programs is supported (see screenshots below). For example, when running
vagrant version(when Vagrant is installed), the last line should be colored. That’s not the case for ConsoleZ.
- Auto Complete
- All programs support auto completion of file or directory names in the current directory. Only Cmder also auto-completes program names on
PATH(like in bash).
- Cursor Navigation
- Whether you can navigate entered text like in a standard Windows text editor. I checked the keys Home (jump to start), End (jump to end) and Ctrl+Left/Right for word navigation. All three programs support all variants. However, when using Ctrl+Right on the last word, only Cmder places the caret after the last characters. The other two tools place the character on the last character. This is why Cmder is considered superior here.
- Shift Selecting
- Whether entered text can be selected with Shift+Left/Right. Only ConEmu supports this out-of-the-box. In Cmder, this is available but disabled by default.
- Selecting with Mouse
- Whether it’s possible to select any text in the console window by using the mouse. Cmder and ConEmu support this directly. ConsoleZ requires you to hold down the Shift key.
- Copy on select
- Whether any text you select (with the mouse) is automatically copied to the clipboard. Note that I didn’t mark any tool here as superior because this behavior is a matter of taste.
- Copy on Ctrl+C
- Whether any selected text can be copied to the clipboard by hitting Ctrl+C.
- Paste with right click
- Whether you can paste the current content of the clipboard into the console by pressing the right mouse button.
- Paste on Ctrl+V
- Whether you can paste the current content of the clipboard into the console by hitting Ctrl+V.
- Show Current Process (Name)
- Whether the name of the currently running program is displayed somewhere. Top level means that for
vagrantit says “vagrant”, while actual means that for
vagrantit says “ruby” (since Vagrant is a Ruby application). Again, neither is better or worse but just a matter of taste.
- Show Current Process (PID)
- Whether the process id of the current process is displayed somewhere.
- Whether the tool supports tabs. All do but ConEmu doesn’t seem to have a (easy to find) hot key for this. Cmder uses the commonly used hot key Ctrl+T while ConsoleZ uses Ctrl+F1.
- States how much “eye candy” a tool has added to the console itself (i.e. the actual content area) compared to the default Windows console. ConsoleZ looks identical to
cmd, while Cmder has the most changes. Again, no superiority because this is a matter of taste. See screenshots below for a visual comparison.
- HiDPI Support
Whether the tool looks crappy on HiDPI setups. All three look ok on a HiDPI display (nothing is too pixelated) but only ConsoleZ handles moving the window to a LowDPI display correctly. ConEmu and Cmder don’t reduce the size of their UI (except for the actual content area).
Wrong DPI scaling of ConEmu
Here is one screenshot for each tool for visual comparison.
I/O Consumption “Problem” of ConEmu/Cmder ∞
If you’re using Process Hacker (which is generally a great tool), you may notice that it reports high I/O (like a 1 MB/s) for ConEmu processes. However, according to this ConEmu page, Process Hacker just displays this wrongly. If you check Window’s own Task Manager you’ll see that the process doesn’t read from or write anything to disk.
Adding the Console Tool to the Explorer Menu ∞
Even though each tool can be started one way or the other, the best way of launching a command line (in my opinion) is from the Windows Explorer’s context menu – where you are already in the correct folder.
Note: Before registering any of the tools, first make sure you have placed them in their desired final folder (i.e. not in your “Downloads” folder).
For Cmder, open an Administrator prompt and call
cmder /REGISTER ALL. If you get a message “Access Denied” ensure you are executing the command in an Administrator prompt.
For ConEmu, open the settings, go to the “Integration” section and click the upper “Register” button.
For ConsoleZ, you have add some registry settings. See here for more details.
While ConEmu and Cmder have both their own superior features, I found the features of Cmder more useful – especially the auto-complete of programs on PATH. Also, for me, Cmder has the best look. So that’s my tool of choice. ConsoleZ only takes the third place.
What do you think? Is there a console replacement that should be in this comparison? Or are there features that you would think needed to be compared here as well? Just drop me a line in the comments below.