manski's blog

Command Line Replacement For Windows

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.

Feature ConsoleZ ConEmu Cmder
Installation Chocolatey or Zip Installer Zip
Starting Run console Start menu Double-click in Explorer
Colors
Auto Complete Current Dir Current Dir Current Dir + Path
Cursor Navigation (slightly better)
Shift Selecting
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
Visuals Pure Pure Colored Improved
HiDPI Support Partial Partial
Separate Web Site No Yes Yes
Source Code GitHub GitHub GitHub
Superior Features 2 3 4

Notes:

  • 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.

Explanations

Installation
What installation options are available. The installation of each tools has its problems/pitfalls. It’s not terrible but also certainly not super trivial.
Starting
How to start the program.
Colors
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 vagrant it says “vagrant”, while actual means that for vagrant it 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.
Tabs
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.
Visuals
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.

Wrong DPI scaling of ConEmu

Screenshots

Here is one screenshot for each tool for visual comparison.

ConsoleZ

consolez.png

ConEmu

conemu.png

Cmder

cmder.png

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.

context-menu.png

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.

Conclusion

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.

2 comments

  1. bob said:

    You can activate or configure a lot of features in ConsoleZ settings:
    Copy on select
    Copy with CTRL+C
    Paste with right click
    Paste with CTRL-V
    Show Current Process (PID)

    each hotkey is configurable…

    • Sebastian Krysmanski (post author) replied:

      Thanks for the clarification. Like I said in the article, I just compared the default behavior. But I will update the matrix with what you said. (I find the setting with the PID though).

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.