20

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.

11 Answers11

19

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.

Ethan
  • 3,921
15

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

9

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.

Seth
  • 9,393
Mike McQuaid
  • 4,187
6

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.

karel
  • 13,706
3

Windows Terminal

Microsoft makes a great new era with this new terminal

windows Terminal

It has so many features and customizations

The Windows Terminal is a contemporary, speedy, efficient, powerful, and productive terminal software for command-line tools and shells such as Command Prompt, PowerShell, and WSL users.

Windows Terminal Features

Windows Terminal looks pretty basic at first glance, but there are a handful of features that set it apart from other Windows command-line tools:

  1. Full screen mode
  2. Tabbed interface to open multiple instances of the tools
  3. Shortcut keys to quickly open new tabs
  4. Zoom with the mouse
  5. Unicode and UTF-8 character support permits the use of emoji and non-English characters
  6. GPU-accelerated text rendering engine
  7. Custom themes and styles can be created
  8. Stylus support
  9. Windows Subsystem for Linux (WSL), SSH, Git bash, PowerShell, Command Prompt, and Azure Cloud Shell support
Toto
  • 19,304
MSH
  • 131
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 ;)

Pysis
  • 1,100
2

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

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

Kredns
  • 3,067
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

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.

Bruce McLeod
  • 5,818