A better Windows command line experience: Comparing PowerCmd vs. Console2 vs. ConsoleZ vs. ConEmu Vs. Cmder

I previously wrote a post called A better Windows command line experience using Console2 in which I went on and on about the marvelous virtues of Console2 and mentioned that one day I would try ConsoleZ.

Then commented “Wait until you discover either ConEmu or cmder :)“… So why wait? And off I went to discover ConEmu and cmder… :)

I have since downloaded, installed, set-up and used the following Windows command line applications:

and have the following comments on each…

TL;DR (cut to the chase)!

PowerCmd

  • Downloaded from:
    http://www.powercmd.com/
  • Like:
    There are lots of features listed on their site, and some seem good, but as you continue down this list, anything good is going to be surpassed.
  • Dislike:
    It looks so “Windows-like”; Each tab gets a generic name “Cmd”, making you have to remember which is which; Organizes the tabs into panes, which could be good or bad, but I didn’t like it; After a trial period, you need to get a license or you are blocked from the app completely… (And I get that the creators want to get paid, I cannot blame them for that, but when you consider the list below, which are all free, and (in my opinion) so much better, well…)
  • Bottom line:
    It does what I wanted it to do, so I shouldn’t complain, but again, when you see the other options below, you will forget this one.

Console2

  • Downloaded from:
    http://http://sourceforge.net/projects/console/
  • Like:
    You can create as many tabs as you want (or at least as many as I needed); You can give each tab a custom name, so identifying what is running where is really obvious; You can order the pre-created tabs in the Settings panel so they are listed in a specific order; You can also drag the opened tabs to change their order; You can assign a Shell script to each tab, so it will automatically do stuff when you open that tab; You can (somewhat) customize the appearance, like font, colors, size, etc.; You can customize Hotkeys and combinations for keyboard, and mouse, shortcuts.
  • Dislike:
    I could not find a way to open all of my pre-created tabs on start-up, so after opening the application, I have to manually open each tab; If a tab has a Shell script selected, it automatically starts when you open that tab, but if you stop that script (Ctrl+C), it also closes that tab, rather than just returning to a command prompt; For the life of me I cannot figure out how to select something to copy… (Found this, had to change a Mouse Hotkey setting); Configuring the Hotkeys is not intuitive, but easy once you know how (rather than typing or picking the keys, you just use them, as in click inside the box, then press the key on your keyboard, such as Ctrl, then click inside the other box and press C on your keyboard).
  • Bottom line:
    Again, this does everything I wanted it to do and works quite well. It is definitely an improvement over the native command line and PowerCmd, but still has some holes…

ConsoleZ

  • Downloaded from:
    https://github.com/cbucher/console/wiki/Downloads
  • Like:
    As a fork of Console2, the interface is quite familiar, but I was surprised that it even recognized all of my Console2 custom settings! All of my custom tabs, Hotkeys, font selections, etc., were already there and ready for me! :-) But, like any good fork, there was also much, much more: there are many more options in nearly all the Settings panels.
  • Dislike:
    And like most forks, with the good comes the bad: Every Dislike from Console2 is still there.
  • Bottom line:
    If you love Console2, but would like a few more Settings options, definitely check this out! For the rest of us, let’s continue down the list…

ConEmu

  • Downloaded from:
    https://code.google.com/p/conemu-maximus5/
  • Like:
    NOW we’re talking here! Typical interface, but with proper syntax highlighting, comes with pre-configured command lines settings for Shell, Git Bash, and Scripts, and custom settings like Visual Studio can be set-up pretty easily. This video gives a great introduction, so I recommend that you view it to get a sense of the application without actually downloading and installing it yourself. Like the last couple applications, you can pre-configure tabs, give them custom names, give them Shell scripts to run when they open, plus a ton of additional configuration options; nearly everything about ConEmu can be customized. I also like how, even though all my tabs are housed within the single application window on my desktop, they are grouped in the ConEmu icon in my Windows Taskbar, so I can easily pick which specific tab to switch to with a single click. And my biggest frustration above, opening multiple tabs automatically when I open ConEmu, is finally possible, though a little more convoluted than I would like: you create a text file of the tabs you want to open, then specify that from within the Settings panel (Startup > Tasks file) (UPDATE). Okay, not elegant, but at least possible! (There is also the option of Auto saving & re-opening whatever tabs were open when ConEmu was closed, so you could just set-up the tabs you want, and close it, but this runs the risk of some tab being closed when you close ConEmu, then not being re-opened when you re-open ConEmu…) Also, nearly everything in the Settings panel, if hovered over, will give you a nice tooltip-like explanation.
  • Dislike:
    I haven’t found much yet (UPDATE). Ironically, the incredible flexibility and number of customization options might seem a little overwhelming, but that is the price to have so many options. And I already mentioned above about the convoluted setup required for multiple tabs on open. Setting up Shell commands for the tabs to run when they open, is also not very intuitive; Console2 and ConsoleZ are both actually really easy.
  • Bottom line:
    Best so far, by far. Love the various color schemes, love being able to set-up multiple tabs to open, though I wish it were easier to set this up, and easier to set-up the Shell commands to run when each tab opens.

Cmder

  • Downloaded from:
    http://gooseberrycreative.com/cmder/
  • Like:
    Cmder is also a fork, this time of ConEmu, so you will see a lot of similarity here. The tabs and toolbar default to appear at the bottom of the application window, but that can be changed back to the top (Settings > Main > Tabs > Tabs on bottom) if you prefer. In fact, other than that and the Monokai color scheme, I don’t see much difference.
  • Dislike:
    The first line of text on the website says “Portable console emulator for Windows”, yet when I tried to open it after a fresh install, I got an error that said “The program can’t start because api-ms-win-crt-runtime-|1-1-0.dll is missing…” Which apparently requires me to install Visual C++ Redistributable for Visual Studio 2015 RC??? Doesn’t seem very portable to me, and certainly wasn’t a good first impression. It’s a big assumption of the developers to assume that everyone wanting to use this would have VS installed too….
  • Bottom line:
    Since there isn’t much difference (that I can find) between ConEmu and Cmder, the frustration of the install alone would make me say skip this and just go with the original, ConEmu. If, on the other hand, you really need that Monokai color scheme, or the “portability”, then maybe Cmder makes sense.

Summation

For my money (and aside for PowerCmd, these are all free), I think I will stick with ConEmu, at least for now. I don’t like the way you have to create a text file of tabs to auto-open (UPDATE), but at least you can do it; I don’t like the method for creating Shell scripts to run when a tab opens, but I will figure it out. The benefit of being able to create multiple command line tabs, have a preset collection of tabs that automatically open when I open the application, and have each of those tabs automatically run a script for me, is huge. And ConEmu looks so much better than the native Windows command line window (or even the first few alternatives from above!), that those little, initial set-up pains seem worth it.

So, now we can all live happily ever after in our lovely tabbed and customized Windows command line experiences… :-) I hope this was helpful to someone, as always, please feel free to let me know if you agree, disagree, or want to contribute to the conversation below.

Happy command lining in style,
Atg

Today’s Readings

Fantastic SVG path generator!

Sticking with SVGs, SVG Weirdness is “a repository for documenting bugs and other weird SVG behaviors.”

Okay, just one more: SVG sprite generator “takes a list of SVG files and make a single sprite file using symbol elements… helpful for creating icon systems.”

Okay, I lied, one more: Here’s a portion of ‘s SVG Meetup Presentation, Interactive Imagemaps.

A great Tuts+ tutorial for Creating a List of [WordPress] Posts With the Same Categories as the Current One. Very commonly requested functionality!

The continuation of the Git Workflow Walkthrough series, this time focusing on Reviewing Pull Requests.

Couple Chrome DevTools news items: new Film strip feature, new home for Throttling, new tutorial, and a possible DevTools IDE?

Making use of background-attachment: fixed / will-change: transform fix, takes us on a deep-dive walk-through of a scroll-killing improvement.

Some slick context-menu design options. I like most of them, as long as they look smooth when they open, and the target hotspots are easy enough to “hit”.

Yeah, like these animations!

And here are a bunch of transitions and animations that will make your HTML forms sing!

And here is ‘s Stretchy, a small JS script to make form elements, well, “stretchy”…

This is the second time that AWS Device Farm has caught my attention, only to find out (and this time be reminded) that it is for apps only, and only Android and Fire OS apps, at that… But then I thought, well, people might still be interested, so there it is. I do wish they had called AWS App Device Farm, though… :-/

Can you overuse media queries? Well, of course you can. If you can overuse something like chocolate or animated GIFs of kittens, then you can certainly overuse media queries. All good things must be used in moderation, and it’s nice to be reminded of that.

I love lists. I especially love lists that aren’t like “The Top 5″ or “The Top 10″; I love the ones like “The Top 13″ or “The Top 27″. You can be pretty sure those don’t contain filler. :-) Well, the 26 digital typography rules for beginners at least feels like a good list. Designers, your thoughts??

And speaking of typography and design, Screenings aggregates the best design-related videos from around the web. Nice!

Okay, one more (sort of) typography-related bit is this Comprehensive Guide: When to Use Em vs. Rem.

So CSS snap points may not quite be ready for prime-time, but I am so anxious for them, and have been for a long time…

And finally, tries to remind us to advance the web without breaking it. As always, thoughtful and enjoyable.

Happy reading,
Atg

Today’s Readings

Well this is sort the last thing HTML5 needs: Researchers prove HTML5 can be used to hide malware.

Here is a fun, if not lengthy, look at Web Design: The First 100 Years from . has his favorite quotes, but my fave is:

As soon as a system shows signs of performance, developers will add enough abstraction to make it borderline unusable. Software forever remains at the limits of what people will put up with.

walks us through the myriad options for trying to get a “sticky” element to “stick”, cross-browser.

“Sticking” (chuckle) with Dudley for another sec, let’s learn more about CSS shapes and masks!

Here are 11 customizations you can make to make your WordPress site seem a little less WordPressy.

Then run through this Ultimate Mega Guide to Speeding Up WordPress. Wow, that’s a serious collection…

Nth-Test is brilliant. So simple and so useful! And as says, “Considering that the way I figure out nth-child selectors is to try randomly changing numbers until it works, this should be quite useful for me.“… So I’m not the only one… :-)

From comes 5 new things browsers can do in 2015. Cool stuff!

And even more cool stuff is coming to browsers soon!

Here are 10 reasons to use Microsoft Edge. All interesting functionality. And none of them are going to get me to use Edge…

And as long as we’re talking about numbered-lists of Microsoft things… Here are 10 tools that fix common Windows frustrations! :-) The first couple are not that inspiring, but there are some good ones in there.

Two videos to introduce you to, and show you how to implement, HTTPS.

grunt-perfbudget is a Grunt task for enforcing a performance budget via WebPageTest. Thanks to for the link!

Should dwell time (aka engagement) be considered a bad thing? Maybe…

Usernames, passwords, command line commands, procedure steps… As developers, we have to remember a lot of crap. So how do you remember it all? I’m with this article: I don’t. Nearly everything that I have to do that isn’t just dead-easy (and even most stuff that is), is documented in a text file that is synced between two computers via Dropbox. What’s your strategy?

This Map Shows Which Countries Have Most People Online? The map should not surprise you, and it would be interesting to see average bandwidth speeds for each of those countries.

Wow, a nice, deep-dive into currying with JavaScript.

I get what the author of Stop Gratuitous UI Animation is getting at, but in the end, all their alterations did was change the loader to a different loader, and change the animation to a different animation. The point that some animation is useless is still valid, however.

And finally, if you’ve ever watched a Looney Tunes cartoon, such as Bugs Bunny, Daffy Duck, Road Runner, Pepe le Pew, etc., then you should know the name . He was the animator extraordinaire! And here is a short YouTube video describing, discussing, and displaying his brilliance, and the source of his brilliance: knowledge, which leads to inspiration…

Happy reading,
Atg

Today’s Readings

The only way this PS shortcut cheatsheet could make things any easier is if they came imprinted on a keyboard. Or, I guess, if I could just think them… That would definitely be easier… ;-)

And as long as we’re cheating, how about a jQuery event cheatsheet? Bet there are at least a couple you weren’t familiar with on there…

Or the opposite of a cheatsheet, here’s just everything ever conceived about functional programming in JavaScript, in long form… Quite the read, and certainly more than adequate…

has compiled a cheatsheet, of sorts, for asset handover. I would personally like to +1 #2…

Leave it to to come up with M.C. Escher patterns as SVG backgrounds… But come on, Dudley, how about a real challenge??? ;-P

Sticking with SVGs, but moving into animation, presents SVG Sprites for Animation. Great walk-through, explaining the parallels to web animation and old-school cel animation.

Ok, this is a little bit of a mind-blower:

Smartphone Test Farm: Remote control any device from your browser in realtime. Manage device inventory. Type text directly from your keyboard.

Can it really be that easy???

Some very basic, but powerful, .htaccess security bits for WordPress. If you don’t have these in your system somehow, add them.

This Zero to Hero with JavaScript video series covers tremendous ground, from JS fundamentals, to jQuery, to Node, to Angular and React, to ES6. Dig in!!

Not sure how many drummers there are reading this, but Sensory Percussion lets real drums play any kind of electronic beat. Way beyond what normal electronic drums or triggers can do!

From comes a deep discussion piece on preprocessors. Are they good, bad, neither? Evil necessity?? Is anyone still not using one???

Several probably well-known image optimization options, but it can never hurt to look them over, you never know what you might not have seen yet.

Or you could take all your images and push them into what looks like a video! Granted, the “video” isn’t all that smooth, and granted, there are a lot of images contributing to that final “video”, but the technology is impressive nonetheless!

I would love to work at a place someday that plans this much. And before anyone says “Well why don’t you just do it?”, because one person doesn’t just do something like this; it takes planning, and buy-in, and commitment, from all parties concerned. But when you’re done, what you have is a brilliantly simplistic way for new-comers to get started, and contribute more quickly, and all employees to work together more harmoniously.

And finally, deep wisdom, from short words: developer proverbs

Happy reading,
Atg

A better Windows command line experience using Console2

In my day-to-day work, I use a Windows PC (that’s what they offer). I also use the command line for several operations, like running local servers (Jetty for one project, Tomcat for another), using Grunt to monitor my Less files and update my local CSS files (one project uses Grunt directly, another uses Maven to run Grunt), and both of those projects use Git as a repo and to trigger continuous integration and deployment. Yes, all of that, every day.

So, with all of the above happening at the same time, I typically have at least six Windows command line windows open. And bouncing between them just gets annoying. So, a couple times before I have tried looking for some way to unify all those individual command line windows into a single, tabbed application, but had not found anything that I loved. Until now.

One of my biggest gripes with what I tried before was that all the tabs had the exact same, nondescript name, usually something like “Cmd”… Of course, if I open them all in the same order every day, it wouldn’t be that hard to memorize which was which, but its the fact that bothers me…

So today I installed Console2 (I’m not sure why searches for Console2 list this product page, which says just Console, but the Download button URL links to Console2, and that’s what the product downloads as… whatever.).

Initially I had the same tab-name problem: all tabs got the same name (I think it was “Console”)… But then I dug into the Settings panel a little (Edit > Settings, or Ctrl+S)…

Not only can you customize the name of each tab, but you can create a list of tabs, each with their own custom name, directory to automatically open that tab to, Shell script to run as soon as that tab opens, icon to use for that tab, and more! You can even customize the keyboard shortcuts to match what you are likely already used to (like changing Open New Tab to Ctrl+T, etc.).

The article that convinced me to try Console2 is from , in which he gives some good advice for set-up. So, thanks Scott!

Then I stumbled across this article, which says it’s about Console2, but then describes how to install and customize ConsoleZ (not sure why none of these can keep their names straight!), and then goes on to talk about just about everything one could possibly consider doing via the command line… But the author makes ConsoleZ sound pretty good (I especially like the syntax highlighting!), so I might just check it out too!

Hopefully this helps someone that has been having the same problem, and I would love to hear from anyone that uses either of these, especially what they like and dislike after using for some time; alternative options are also always nice to hear about… :-)

Happy command lining,
Atg