18

I've been using Bash for years and I really like iTerm. Is there a way to get that level of console usability for Micosoft's Windows cmd?

By that I mean the sane tab completion, history (even if you close the terminal), searching back and so on, and also a terminal I can resize, with tabs, nice fonts, etc.

10 Answers 10

7

Windows PowerShell (Original Server 2003 Link) is probably worth a look, I'm not sure if it has all the features you want but it's certainly a step up. Otherwise, Console is something I've seen my Windows brethren using that has a fair amount of the features you've asked for.

  • So, is Powershell useful as an interactive shell (beyond scripting)? – pupeno Jul 28 '09 at 11:22
  • Absolutely! Powershell is amazing in that it exposes basically the entire .NET Framework and COM libraries as scriptable interfaces. It is useful for everything from managing Exchange server to testing a regular expression. Give it a shot! – Goyuix Aug 12 '09 at 14:29
  • 1
    Powershell is a new command interpreter, but it uses the same old cmd.exe GUI (albeit with a slightly altered configuration). Proof: try pasting via Ctrl+V, or resizing horizontally -- same old behavior :(. – Roy Tinker Jul 16 '14 at 16:39
  • How about Hyper ... which is even better than iterm ... works the same on MAC and WIndows as it is JS based. – Andy Sep 16 '18 at 22:31
  • 2
    PowerShell is absolutely not a replacement or useable alternative for someone used to Bash's syntax and software ecosystem, nor is it on the same planet of GUI usability as iTerm or even macOS's default Terminal app. It's an entirely new set of rules and quirks, with even less consistent conventions than the Unix world. – iono Feb 7 '19 at 13:16
18

I had the exact same question. For a while I used Console and it was OK.

However I found out about Git Bash. If you install Git for Windows, you get this app called Git Bash that provides a console window running bash. It's awesome. I've been using it for months.

It may seem counterintuitive to install Git (a version control system) in order to get a decent console but it works.

  • 2
    This is what I currently use. The usability of the console is nowhere near iTerm, though. It's pretty much the same as CMD.EXE except that you have a bash shell running in it. – iconoclast Jan 16 '13 at 15:01
  • +1 for this as Git Bash is actually what I was looking for.. Its just a natural choice and I had forgotten how it was installed. It uses MinTTY and apparently I had selected to use the cmd.exe shell this time which is why it was annoying me.. Reinstalled and all is well. simple little shell that doesnt make me sad when I type 'ls'. – James Nov 8 '17 at 18:46
12

I personally prefer Cmder which is a combination of all the previous answers.

Cmder homescreen

Cmder is a software package created out of pure frustration over the absence of nice console emulators on Windows. It is based on amazing software, and spiced up with the Monokai color scheme and a custom prompt layout, looking sexy from the start.

With help of the best

Cmder settings are conemu

Think about cmder more as a software package than a separate app. All the magic is happening through Conemu. With enhancements from Clink.

Total portability

Carry it with you on a USB stick or in the Cloud, so your settings, aliases and history can go anywhere you go. You will not see that ugly Windows prompt ever again.

Git and others

Oooh yes! If you decide to use the slightly bigger git-for-windows version, you will have all Unix commands ready in PATH so that you can git init or cat instantly on every machine.

Aliases

There is simple support for aliases. They can be created by using the alias command like this: alias ls=ls --color $*. They are pretty much just doskeys in /config/aliases.

It comes with useful bash and git aliases that I stick with to this day:

# Beautiful git log graph shortcut (shown in the top image)
gl=git log --oneline --all --graph --decorate  $*
gs=git status
# adds default option to a simple command
ls=ls --show-control-chars -F --color $*
# common alias that often comes default with some distros
ll=ls -alF --color=auto
pwd=cd
clear=cls
history=cat %CMDER_ROOT%\config\.history
unalias=alias /d $1

Copy/Paste support with CTRL+c and CTRL+v with an intuitive mouse selection behavior (top to bottom for line by line selection and bottom to top for block selection).

It supports tabs and configurable split panes that enables you to use Powershell, Git bash, etc. all in the same instance.

Cmder configurable split panes

It can be configured to have a context menu action to open a console tab in the current directory.

Cmder context menu action

5

My two (late) cents :

Since Anniversary update of Win10 you get an actual Linux runtime in Windows, with a bash console. They are called, respectively, "Windows Subsystem for Linux" and "Bash on Windows".

Here's how to install it : http://www.pcworld.com/article/3106463/windows/how-to-get-bash-on-windows-10-with-the-anniversary-update.html

It allows to run most Linux commands and binary executables in console mode. It is based on Ubuntu 14.04. The UI (window, settings etc.) though is still pretty much the old cmd, so not very nice to manage multiple consoles etc.

Besides that, my favourite is MobaXterm : http://mobaxterm.mobatek.net/

It's a windows utility program that does many things quite well, notably :

  • Cygwin-based bash environment
  • Ubuntu on windows bash shell
  • SSH client with bookmarks
  • normal windows cmd console
  • Remote desktop connections
  • VNC connections
  • SFTP client
  • X11 server
  • All that in a nice tabbed UI

And many more...

It is free with some limitations, and there is a reasonably priced (IMO) "pro" or something version.

As a developer who frequently has to manage and connect to remote servers it is an invaluable tool.

4

console-2 GUI + Cygwin = 99% of iTerm.

2

I actually prefer ConEmu Logo ConEmu a fair bit more than Console2, and it should have the resize, tabs, and fonts functionality that others (besides CMD! :P) have as well.

It just has the other added features that I can't list right now, customizing the hotkeys for tab switching makes it feel more intuitive, a more dedicated settings menu and tab bar, and definitely the task list you can add preset configurations to, on top of adding parameters that ConEmu understands and modifies its own window.

You can get the decent (in my opinion) tab completion that I think you're referring to just from bash. Not sure about history to show up, but again fish/bash gives you the history you can browse through with the arrow keys and etc. You can get even better (also in my opinion :) tab completion and history browsing using the fish shell!

For ConEmu, the developer stays up-to-date with the project really well, and it feels like he has a good understanding of how to develop the application to have all these features and present a good UI while still having a steady and somewhat fast velocity.

I also definitely use the global hotkey to make the window appear, always having my usual tabs set-up in the window, and you can combine consoles in the same view as well!

One thing you may have to get working if you want, is UTF-8 support. The process is not as difficult as hunting down and applying patches, just setting fonts through the Terminal Window Host and emulator, ConEmu being what I refer to is the Terminal Window Host. I may have installed a font that can display a larger range of characters for ConEmu, or for the default Windows Command Prompt, can't remember which, or the name of the font O_o. IF you need any other help with it, you can try this page: ConEmu - Unicode Support

With all that, I tend to run Cygwin since I am familiar with many Linux/GNU-based utilities, I use fish/bash when I can, and cmd when I can't for certain tasks.

P.S. Quake-style is always fun if you're up for that ;)

1

I haven't used these personally (Mac os x is my daily driver), but a quick search found these :

win-bash, gnu-bash, and unxutils.

1

If you're on Windows 10, you can now (August 2016) use "BASH on Ubuntu". It's either added to the OS or available as a feature. (As of the 'Anniversary update'). I have not explored it.

However, I recommend PowerShell if you're doing anything like system administration in a Windows environment. Microsoft has already made this the underpinning of all their products. Learning PS is practically a requirement for system admins in Windows environments now.

1

I found MobaXterm. Here Free edition you can try.

  1. Splitting screen
  2. Store credentials and servers
  3. Connect to s3 and rdp

enter image description here

Below are the Images for the same

  • Please update this answer to follow the guidelines for software recommendations provided here. – Worthwelle Sep 27 '18 at 17:26
0

BABUN:

You should take a look at Babun! I'm a Linux guy and this is the first program I install on my Windows machines. It's a very nice redux of cygwin and installing it is as simple as any other .msi installer.

By default the shell is zsh, which I love, but you can easily change that to bash and bash comes preinstalled with Babun as well.

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.