Scott Hanselman

ConEmu - The Windows Terminal/Console/Prompt we've been waiting for?

June 11, 2012 Comment on this post [86] Posted in Open Source | Tools
Sponsored By

I have long sung the praises of Console2, an alternative Windows Command Prompt. In fact, I declared in 2004 that Windows was (and is) missing the boat when it comes to Text Mode. A kick ass terminal is exactly what Windows needs. I'm not talking about PowerShell, which many agree is crazy powerful, but rather the Terminal itself. We want tabs, we want control, we want better full screen, we want themes, we want more.

While I love Console2, I think I'm ready to switch as I've just been turned on a NEW contender in the Windows Console Wars. It's ConEmu and it's insane (in a good way.) It's also actively developed.

I haven't even begun to scratch the surface as ConEmu is one of those applications that is so configurable that you can become lost in the flexibility.

Here's some of ConEmu's fantastic improvements to the Windows terminal experience.

Jump Lists

Of course! So obvious it should have been done before. Now I can have all my favorite commands and configurations in a one click location. Best yet, these are actual commands, not just shells, so I can pin batch files, common commands (deploy, etc) or whatever I like.

ConEmu adds Jump Lists

Status Bar Details

There's a hundred little details that make ConEmu fun to explore. This details also show ConEmu was created by a developer. ;)

ConEmu Console App

Running as Administrator

Check out the status bar there. You've got the current process id, as well as the status of your CAPS, NUM and SCRL locks. You can quickly change your transparency and smoothly resize your terminal.

Running as Administrator

Check out the tabs. See how one of my Tabs is running as Administrator? It's the little details, my friends.

You can even "attach" or suck in existing console that are already running into ConEmu.

Configuration

Literally everything is configurable. Each time I find myself wishing for a specific feature, I find it somewhere in the settings. For example, I wanted to change the behavior of the console (colors, fonts, etc) when a specific application was running. Turns out that feature exists and you can set distinct preferences for specific executables.

ConEmu Settings

You can even get applications like putty.exe to startup inside a tab with the -new_console switch or run obscure DOS applications inside the ConEmu using DosBox.

Progress Bars

The feature that really blew me away was Progress Bar integration. If you're familiar with Windows 7 you are likely familiar with the way that progress bars are overlaid over a Windows 7 Taskbar button. ConEmu looks at the current application running and some heuristics and overlays progress. Madness. Do a chkdsk and watch the progress bar. Love this little detail.

ConEmu Progress Bar

FarManager

Not enough awesome? OK, add in the FarManager text-based File Manager (ala Norton Commander) and watch ConEmu light up even more. It also includes FarManager plugins for drag and drop within the text mode app.

FarManager DragDrop

I've gone and customized my Windows 7 task list to include Azure PowerShell, Git Bash in Cygwin, Far and Visual Studio's command prompt.

menus

Go and download ConEmu and try it for yourself. There's a few obscure things, and you'll want to spend some time customizing it, updating the jump list manually, checking all the settings as well as changing some of the hotkeys, but in the end you'll have the best Console application Windows has to offer.

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Hosting By
Hosted in an Azure App Service
June 11, 2012 23:27
Scott,

I didn't realize you were a fan of FarManager.
June 12, 2012 0:00
Not bad, but I love Console2's borderless mode. I've got a few Console2 windows that look like a console is just floating on my desktop, and which I can switch to with a winkey hotkey.

What I'm really looking for is a good "Quake console" mode, but I haven't found anything like that yet.
June 12, 2012 0:08
borderless: Features -> Hide caption always

desktop: smth like this? http://code.google.com/p/conemu-maximus5/wiki/Screenshots#ConEmu_in_Desktop_mode

> What I'm really looking for is a good "Quake console" mode
Can you describe this wish in detail?
June 12, 2012 0:22
Justin wrote:
I didn't realize you were a fan of FarManager.


He has been for ages. FAR is part of the dev tool list since it started (Earliest references I could find on the web is dated 2005, but also could be on the list since 2003... the very start)

Btw Scott, you might want to check the main nav bar... it still links to the dev tool list of 2009 (with (it looks like) a redirect to the updated one of 2011). Might save a redirect when you linked it directly to the updated one :)
June 12, 2012 0:50
Maximus, here's an example of a Quake-style console: http://tech-bytes.co.uk/2008/05/23/a-quake-style-console-for-your-gnome-desktop/
June 12, 2012 0:58
@Maximus: "Borderless" means 100% borderless. ConEmu comes close, but there's still a one-pixel border, plus it shows the tab bar, even if there's only one tab (making the tab bar redundant).

That desktop screenshot looks great. I just can't figure out how you did that. :) Also, it appears to stay behind my apps, but I'd prefer it if I could bring it to front when it has focus, then return to desktop when not.

The Quake console was a console window in the game Quake that would slide onscreen from the top if you hit the ~ key, and would then slide back offscreen when you hit ~ again. Many games support this feature now, and I believe the OS X terminal app does, too.

June 12, 2012 1:00
Matt and Max - Totally agreed. A KILLER feature would be a still-resizable but totally borderless window. Make it!!!
June 12, 2012 1:15
What I'm really looking for is a good "Quake console" mode
Make it so!
June 12, 2012 1:27
Tilde: Smth like this? Save ConEmu.xml to ConEmu.exe folder, run minimized (ConEmu.exe /min) and press Win+~

Tabs may be completely hidden. And are hidden in this config.

Bordless - ok, I'll take care of this.
June 12, 2012 1:35
Desktop mode was made as a joke/exercise, nothing else :)
It is turned on by "Desktop mode" checkbox in Features pane.
June 12, 2012 1:37
Sounds really promising, but the Settings dialog is a little inpenetrable from first glance ;)

Is there any way to get it to remember history from previous sessions? I couldn't find it.
June 12, 2012 1:39
Really nice tool, thanks!

It would be even better with tab icons, and more settings in App distinct (basically, every UI preference should be overridable for each app) ;)
June 12, 2012 1:42
Borderless - suprpise :)
Take a look at "Frame width" in Features.
June 12, 2012 1:48
I set up a task to open a new ruby shell. I put the command line from the ruby shell shortcut (created by rubyinstaller) into the "Commands" section and it works well, but where can I set the initial working directory?
June 12, 2012 1:48
It would be even better with tab icons, and more settings in App distinct (basically, every UI preference should be overridable for each app) ;)

Tabs. It's a sore point. They are in Roadmap.

More settings? Why? What exactly? I mean, you can use named configurations (e.g. "ConEmu.exe /config TestApp /cmd TestApp.exe ...") which, I hope, covers almost cases.
June 12, 2012 1:52
Is there any way to get it to remember history from previous sessions? I couldn't find it.

What history did you mean? History of commands, executed in "cmd.exe"? Note, that ConEmu is not shell replacement, it is graphic console. I use Far Manager, and its history is great.
More on StackOverflow
June 12, 2012 2:01
@Maximus: from previous sessions of e.g. cmd.exe or powershell.exe that I've run in ConEmu. That would be a killer feature, though I have no idea of the technicalities of achieving it.
June 12, 2012 2:07
@Steve K: storing history of cmd.exe/powershell.exe is very complicated (but possible, of course). However, I think, this task not worth the effort. Try Far Manager. When panels and keybar are hidden - it seems like cmd.exe, but store history across sessions.
June 12, 2012 2:12
Why'd I have to find this at the end of the work day! I'm definitely gonna have to kick the tires on this tomorrow. Git, PS, and CMD in one tabbed window... with proper resizing? This is beyond awesome.
June 12, 2012 2:20
To answer my own question, I added " && cd %userprofile%" to the end of the /K argument to cmd.exe
June 12, 2012 2:27
On another note, Maximus: Is there anyway to define a key that will type text into a console? For example, I'd like for ctrl+d to enter "exit<return>" into the console (simulating the behavior of Unix consoles).
June 12, 2012 2:32
@Maximus: Thanks, I am a little reluctant to learn *another* windows shell as my work involves very little of it, and the only thing I really miss from powershell is the aforementioned feature, but maybe I should take a look. And thanks for your fine work!
June 12, 2012 2:38
@Ivan, you may set Paste(0,"exit") into one of GUI Macro (Keys page). Save settings, and edit manually in the registry:

[HKEY_CURRENT_USER\Software\ConEmu\.Vanilla]
"KeyMacro01.Text"="Paste(0,\"exit\r\n\")"

ConEmu settings dialog does not allows (for now) typing special chars (like Enter) into GuiMacro text box.
June 12, 2012 2:48
I think you're solving the wrong problem. You shouldn't be managing so many different consoles in the first place. Replace the git bash with posh-git. And invoke the vcvars batch file in your PowerShell profile. There's two of them gone. I bet the Azure prompt and others can be combined in a similar manner. And you already have a tab system, it's the Windows 7 task bar.
June 12, 2012 3:10
@Anthony Maybe so, maybe not, but how does any of that negate the need for the wonderful ConEmu?
June 12, 2012 3:12
If you've see my earlier posts, you'll know I worked on Posh-git moving the scripts to modules, and also influenced the design of Azure PowerShell (it's also modules) as well as integrated VS into PowerShell, so your point is well taken. Consider this a tabbed console then if you don't want specialized ones. If you don't want that, then you're good with PowerShell. Problem solved. :)
June 12, 2012 3:16
@Steve K take a look at SHRALIAS in TCC/LE. That's what I use for global history. If you're used to cmd.exe you should find TCC a pleasure. Works great with ConEmu too.
June 12, 2012 3:51
I love it. I've been a huge fan of Console2 for quite a while, and it seems the ConEmu, for the most part, picks up where Console2 as left off. The full screen mode is awesome!

One feature that I use all the time in Console2 is renaming of the tabs. Sometimes I don't want to see the directory I'm in, I just want the tab to have a name. So I hit Ctrl-R and typing in a new name for the tab. Would be awesome to have this feature in ConEmu.
June 12, 2012 3:53
@Maximus. That didn't work, but I did edit the key in binary to add '0D' at the end of the string.

It works, but now it pops up a dialog that says "Pasting text involves <Enter> keypress! Continue?"

Any way to disable that?
June 12, 2012 4:26
@Ivan, Mark & Paste -> Confirm <Enter> keypress
June 12, 2012 4:32
> So I hit Ctrl-R and typing in a new name for the tab. Would be awesome to have this feature in ConEmu.
I think so, renaming will be in next version.

btw, in current version, you can change template: Tabs -> Console -> "%n"
and get active process name in tab caption.
June 12, 2012 5:23
I just wish Windows would come with something decent by default. On paper Powershell ISE sounds good, but then the real thing is really, really bad. E.g. doesn't support interactive console apps, so no git and all the other good things. I had kind of hoped that Powershell 3 would bring improvements, but not so. And with being tied to the long Windows release cycles, there won't be anything for another three years. Frustrating, to say the least.
June 12, 2012 9:45
Hopefully Betteridge's Law does not apply in this case!
June 12, 2012 13:28
This looks very promising. I tried to download it, but got a virus warning. Can anybody confirm?

http://code.google.com/p/conemu-maximus5/downloads/detail?name=ConEmuSetup.120609.exe

Die Datei 'C:\Users\aek\Downloads\ConEmuSetup.120609.exe'
enthielt einen Virus oder unerwünschtes Programm 'TR/Dropper.Gen' [trojan].
June 12, 2012 13:59
@Andreas, this is false alarm. Same issue was in Avira
http://code.google.com/p/conemu-maximus5/issues/detail?id=555

If you are not sure - you may use 7z packages from Download page :)
June 12, 2012 14:48
Far is the best file manager ever. At least for me :). It is ages now since I’ve been using it. My colleagues are quite impressed with it but still feel scary to switch from Explorer. Hope your post will change their minds :)
June 12, 2012 14:52
I was gonna to say that I’ll definitely try ConEmu now :)
June 12, 2012 17:34
This is great! I just have a question and a couple ideas/suggestions.

First, the question: How can I create a task (mine's called {Powershell}) that starts up in D:\GitRepos? I see that I can just create a new tab and specify a start directory - but if I do that and use a predefined task, then it drops me to C:\Program Files\ConEmu.

I loved the idea of the quake style console, so I did what you showed in your ConEmu.xml (no border, frame, or tabs) and re-mapped Win-~ to show/hide. Works great! But in doing so, I thought of a couple ideas you might like:

First idea: With the border and frame removed, the text in the console butts right up to the edge of the window. It would be nice to be able to add a few pixels padding in there. Another option would be to define a color of the frame, then we could set a frame width of 4, for example, and use the same background color as the terminal. I'd personally prefer a padding setting as I use a background image in my terminal (a dark subtle gradient).

Second idea: in this border-less, frame-less, tab-less mode there's no way to resize or move the window (without bringing up the settings and turning the frame back on). I'd love to be able to hold down a modifier key and click and drag the window from anywhere to move it. Resizing is less of an issue, but it would be nice to do that as well... maybe a transparent border instead of completely gone?

Thanks for the great app, and for keeping up with it!

-Sean
June 12, 2012 18:15
Do you have to install far separately from ConEmu? I installed ConEmu and I see Far Manager in the settings, but I can't figure out how to run the Far application.
June 12, 2012 19:44
Wow, my prosyletizing tweets yesterday must have spread fast. The author mentioned this utility on our Pscx forums over the weekend so I tried it out yesterday. I then went mental, tweeted about it, emailed all the other powershell MVPs and here we are. The poor guy is going to start sh**ing it when he sees the download spike over the last two days.

Did you see it has theming for console colours (and even includes Solarized), and the madman has implemented ansi.sys style processing of escape codes? It's all native code too. The guy's a nutter - I love it.
June 12, 2012 19:55
@Sean,

Startup dir look here, coming. As workaround for a now - you may use "cmd /k cd ..."

First idea: ok, possible

Second idea: it is false. Hover mouse over place, where frame MUST be, wait two seconds, and frame will appears
June 12, 2012 20:04
> Do you have to install far separately from ConEmu?
> I installed ConEmu and I see Far Manager in the settings,
> but I can't figure out how to run the Far application.

You can simple unpack ConEmu and Far into one folder. When ConEmu see Far.exe - it will be started by default.

Note. You must assure, that Far plugins (ConEmu.dll and so on) are located in Far Plugins subfolder. This will be so, if you unpack them into one folder.

If Far is not started by default - see
Settings \ Startup \ Command line
June 12, 2012 20:08
Just tried ConEmu and am finding it veeeerrryyyy ssslllloooowww. Simple batch files run from the conemu window take 12 seconds compared to the same batch file in cmd.exe taking < 1 second. I'm running the x64 build, downloaded yesterday, on Win7 on a very high-powered machine. What am I doing wrong?! I figured I'd see a whole page of complaints about the speed here, but since nobody else is complaining, I wonder if there's something different about my configuration. Can't think what though...
June 12, 2012 20:14
@Maximus, thanks for the response - you're right, the frame appears after hovering - that works perfectly. :)

Thanks for the link to the bug list - not sure why I didn't think to search there first. I'll also be sure to post any future ideas there.

Thanks!
-Sean
June 12, 2012 20:21
@Nate, what kind of batches you are calling?
There was similar complain:
Issue 526.
The workaround is to disable "Inject ConEmuHk" in the Features page.
June 12, 2012 21:28
@Maximus, disabling "Inject ConEmuHk" solved the problem. I use lots of batch files from simple to complex, and even the simple ones were unusably slow before disabling that option. Try "vcvarsall.bat" to set up a Visual Studio 2010 environment--it was taking 75 seconds prior to that change, but is now < 1 sec.
June 12, 2012 21:37
@Nate, it is very strange. I never saw such notisible lags. Calling "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" takes on my PC several seconds, regardless of "Inject" state.

May be antiviral software?

Can you create an Issue and attach minidumps of hunging processes?
June 12, 2012 22:15
@Maximus, thanks for following up. Disabling antivirus doesn't fix it. I've created Issue 585. We can continue this discussion there.
June 12, 2012 22:35
I can't seem to get the jump lists setup. Can you add a screenshot of your Tasks settings page? I can't find a good example.

Thanks

Mike
June 12, 2012 22:49
Tasks page screenshoot

You can specify one or more commands for each Task.

Note, "/dir ..." will be available in next version.
June 12, 2012 22:51
Please note, current version has a bug. Before set up and clicking "Update now" you owe start at least one command (Win+W, cmd, Enter).
June 12, 2012 23:38
Maximus -

I tried your suggestion without any luck. I uninstalled and re-installed and jump lists seem to be working now.

Thanks

Mike
June 13, 2012 2:40
120612 released. Bugfixes, Quake/tilde style improvment, Paste/Tasks Macros, "/dir" and "/updatejumplist" for jump lists
June 13, 2012 18:26
Thanks! That is exactly what I need! I just didn't know that I needed it :)
I will never run Far without ConEmu anymore!
June 13, 2012 20:14
Is there any way to open up Settings if you've hidden the task bar?
June 13, 2012 22:14
Task bar?
Win+Alt+P ?
June 14, 2012 15:42
@Maximus Thank you for your work it's a great tool and I really like it!

@Scoot Thank you for the post. Without it I'd have never found ConEmu!
June 15, 2012 12:40
I wanted to say @Scott instead of @Scoot .... Sorry :xxx
June 19, 2012 22:05
FarManager reminds me of Stereo Shell from years past. Great little utility.

-Ben
June 21, 2012 21:24
Nice one.. I love the quake-style dropdown!

But I'm really missing the option to automatically append a slash at the end of folder names when tab-completing through a directory structure. It saves me from having to hit both tab and slash when I want to move to a deeper directory.

That is how tab completion works in my bash propmpts on linux boxes and its one of the things that makes the linux bash fast to work in.
June 22, 2012 19:03
@Silas
Use tcc/le instead of cmd
It's completion behavior exactly what you need.
August 22, 2012 22:06
This is an excellent addition to my suite of favourite programs. I've been lamenting the loss of a powerful, beautiful terminal since moving to windows for work reasons. Getting to know powershell introduced powerful, and now, ConEmu gives me beautiful as well! :) Hotkeyed quake-style dropdown with custom background, multiple tabs, stay on top and partial transparency on lose focus. I am bursting with geeky glee.
September 12, 2012 23:00
This looks very awesome!

1. Is there a way to make the title bar just the application name? I don't want the commands shown in the application bar (especially when I'm using OpenSSH).

2. I did the set up tasks thing. Gave the task a name and then put basically "ssh -l user 128.0.0.1" as the command. When I hit "Update Now", it told me "pcdl->AddUserTasks(poa) failed | LastError=0x80070057 | The parameter is incorrect." What am I doing wrong here? It still seems to work. Though I wish the tab would be named what I named the task.
October 08, 2012 12:13
I'm testing ConEmu now and it looks good. Awesome that you can attach/detach tabs and the option to Run as administrator.

Tip: you can also install ConEmu with chocolatey:
cinst ConEmu -Version 12.4.17.1

Again, thanks for the tip :)
October 15, 2012 21:11
@Alex, there is no viruses. Sources are open, you may check them. Disable paranoia in your antivirus.
October 17, 2012 7:15
how about multiple terminal windows in one window?
October 18, 2012 10:43
ConEmu's awesome ... Running vim, scp, and bash in one emulators' just what I need to get that tmux feel on windoze ... Now if we could only split windows like tmux ...
October 20, 2012 12:37
Split scree already exists in ConEmu
http://superuser.com/q/473807/139371
October 20, 2012 12:39
November 06, 2012 21:03
Take a look at Take Command, 140 additional commands, 480 variables and functions, 100% cmd.exe compatible, all the UI goodness, intense help system, etc. My review, Ultimate Windows Command Prompt: Take Command
November 12, 2012 0:21
Trying to use putty inside conemu. Can something be done to putty to hide the titlebar (result is that i see 2 titlebars)?

I keep tabs on bottom, console2 tabs look nicer on bottom.

How can i change the taskbar icon of conemu ?


Thanks for the great software, much appreciated !
x
November 22, 2012 2:03
As I can remember, PuTTY has menuitem "Fullscreen". It will remove Putty titlebar. Or you may hide caption in ConEmu ;)

CinEmu has commandline switch /icon. You may specify any file for it. Refer to project wiki for more info.
February 03, 2013 4:50
I just started using ConEmu and I'm so sold on it. It's the best Windows console out there, bar none (IMHO).
April 03, 2013 17:34
@Maximus5
in case you are still checking comments here: Just started using ConEmu and love it so far. To my question/request: Is it possible to hook ConEmu into the new Windows 8 File Explorer? As in, under the File tab/menu there is now a button to start cmd/powershell in the current directory. So is it somehow possible to either make ConEmu start instead of cmd/powershell or put ConEmu itself into that menu? (I assume the first will be easier). Thanks for the great work.
May 09, 2013 7:37
ConEmu is great. FireCMD is an another option if you want to explore some really cool features.
May 24, 2013 23:00
ConEmu + PuTTY:

I spent the past hour or two (don't ask...) looking for a way to fix the double window border thing (ConEmu and PuTTY together) because it's especially annoying with the (kick-ass!) Quake mode. I discovered that there is a reason (a pretty good one) that the PuTTY devs haven't included, say, a command line option to do that: they already did.

Don't use PuTTY -- just open up plink.exe inside ConEmu. It's basically just PuTTY without the window.

Figured I'd post the tip here since this is where I found out about ConEmu and I haven't seen it anywhere else.

Absolutely love this program. :)
May 29, 2013 10:21
is it possible to have ConEmu as the default debugger terminal while debugging Console App with Visual Studio 2012?
Van
June 01, 2013 18:33
i have been using ConEmu as well, its been great.
July 07, 2013 16:15
Is it possible to send keystrokes to multiple consoles simultaneously? This would help me a lot with my daily stuff when dealing with the need to run same set of commands on multiple nodes for the sake of maintenance.
July 10, 2013 4:05
me likey likey! will download now.
July 13, 2013 9:36
Scott,

How did you get the Windows 7 task list to show the "VS Command Prompt"?

David
July 13, 2013 17:54
The split screen is brilliant for distributed system work. I have a configuration that has a 2x2 setup with one "server" and three "clients".

Before ConEmu this was four tabs but now I can see what's going on all one one tab.
July 17, 2013 13:11
I love this and the split screen it's awesome. But how can I run conemu in the current folder?
July 28, 2013 2:57
2All: If you have questions about ConEmu and can't find answer in wiki and FAQ, you may ask question on superuser.com, mailing list or project issue tracker.
July 31, 2013 19:48
been using for a few weeks already, I think you can already remove the question mark at this article title :)
August 25, 2013 7:50
This tiny program is amazing. I was looking for a terminal multiplexer while working with Vim and came to learn the ConEmu I already had installed was perfectly capable.

For anyone interested, you can roughly save a session/split-screen configuration at Startup > Tasks by creating a new Task and pressing the "Active tabs" button. Saves some time from having to configure split-screen sessions.

@RaduM, you can register the option to open ConEmu in a folder using the right-click context menu. You just press the Register button in the settings at:

Features > Integration > "ConEmu Here - Explorer context menu integration"

Comments are closed.

Disclaimer: The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.