SkillAgentSearch skills...

Cmder

Lovely console emulator package for Windows

Install / Use

/learn @cmderdev/Cmder

README

Cmder

Join the chat at https://gitter.im/cmderdev/cmder Build Status Build Status

Cmder is a software package created out of pure frustration over absence of usable console emulator on Windows. It is based on ConEmu with major config overhaul, comes with a Monokai color scheme, amazing clink (further enhanced by clink-completions) and a custom prompt layout.

Cmder Screenshot

Why use it

The main advantage of Cmder is portability. It is designed to be totally self-contained with no external dependencies, which makes it great for USB Sticks or cloud storage. So you can carry your console, aliases and binaries (like wget, curl and git) with you anywhere.

The Cmder's user interface is also designed to be more eye pleasing, and you can compare the main differences between Cmder and ConEmu here.

Installation

Single User Portable Config

  1. Download the latest release
  2. Extract the archive. Note: This path should not be C:\Program Files or anywhere else that would require Administrator access for modifying configuration files
  3. (optional) Place your own executable files into the %cmder_root%\bin folder to be injected into your PATH.
  4. Run Cmder.exe

Shared Cmder install with Non-Portable Individual User Config

  1. Download the latest release
  2. Extract the archive to a shared location.
  3. (optional) Place your own executable files and custom app folders into the %cmder_root%\bin. See: bin/README.md
    • This folder to be injected into your PATH by default.
    • See /max_depth [1-5] in 'Command Line Arguments for init.bat' table to add subdirectories recursively.
  4. (optional) Place your own custom app folders into the %cmder_root%\opt. See: opt/README.md
    • This folder will NOT be injected into your PATH so you have total control of what gets added.
  5. Run Cmder.exe with /C command line argument. Example: cmder.exe /C %userprofile%\cmder_config
    • This will create the following directory structure if it is missing.

      c:\users\[username]\cmder_config
      ├───bin
      ├───config
      │   └───profile.d
      └───opt
      
  • (optional) Place your own executable files and custom app folders into %userprofile%\cmder_config\bin.
    • This folder to be injected into your PATH by default.
    • See /max_depth [1-5] in 'Command Line Arguments for init.bat' table to add subdirectories recursively.
  • (optional) Place your own custom app folders into the %user_profile%\cmder_config\opt.
    • This folder will NOT be injected into your PATH so you have total control of what gets added.
  • Both the shared install and the individual user config locations can contain a full set of init and profile.d scripts enabling shared config with user overrides. See below.

Cmder.exe Command Line Arguments

| Argument | Description | | ------------------------- | ----------------------------------------------------------------------- | | /C [user_root_path] | Individual user Cmder root folder. Example: %userprofile%\cmder_config | | /M | Use conemu-%computername%.xml for ConEmu settings storage instead of user_conemu.xml | | /REGISTER [ALL, USER] | Register a Windows Shell Menu shortcut. | | /UNREGISTER [ALL, USER] | Un-register a Windows Shell Menu shortcut. | | /SINGLE | Start Cmder in single mode. | | /START [start_path] | Folder path to start in. | | /TASK [task_name] | Task to start after launch. | | /X [ConEmu extras pars] | Forwards parameters to ConEmu |

Context Menu Integration

So you've experimented with Cmder a little and want to give it a shot in a more permanent home;

Shortcut to open Cmder in a chosen folder

  1. Open a terminal as an Administrator
  2. Navigate to the directory you have placed Cmder
  3. Execute .\cmder.exe /REGISTER ALL If you get an "Access Denied" message, make sure you are executing the command in an Administrator prompt.

In a file explorer window right click in or on a directory to see "Cmder Here" in the context menu.

Keyboard shortcuts

Tab manipulation

  • <kbd>Ctrl</kbd> + <kbd>T</kbd> : New tab dialog (maybe you want to open cmd as admin?)
  • <kbd>Ctrl</kbd> + <kbd>W</kbd> : Close tab
  • <kbd>Ctrl</kbd> + <kbd>D</kbd> : Close tab (if pressed on empty command)
  • <kbd>Shift</kbd> + <kbd>Alt</kbd> + <kbd>#Number</kbd> : Fast new tab: <kbd>1</kbd> - CMD, <kbd>2</kbd> - PowerShell
  • <kbd>Ctrl</kbd> + <kbd>Tab</kbd> : Switch to next tab
  • <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Tab</kbd> : Switch to previous tab
  • <kbd>Ctrl</kbd> + <kbd>#Number</kbd> : Switch to tab #Number
  • <kbd>Alt</kbd> + <kbd>Enter</kbd>: Fullscreen

Shell

  • <kbd>Ctrl</kbd> + <kbd>Alt</kbd> + <kbd>U</kbd> : Traverse up in directory structure (lovely feature!)
  • <kbd>End</kbd>, <kbd>Home</kbd>, <kbd>Ctrl</kbd> : Traversing text with as usual on Windows
  • <kbd>Ctrl</kbd> + <kbd>R</kbd> : History search
  • <kbd>Shift</kbd> + Mouse : Select and copy text from buffer

(Some shortcuts are not yet documented, though they exist - please document them here)

Features

Access to multiple shells in one window using tabs

You can open multiple tabs each containing one of the following shells:

| Task | Shell | Description | | ---- | ----- | ----------- | | Cmder | cmd.exe | Windows cmd.exe shell enhanced with Git, Git aware prompt, Clink (GNU Readline), and Aliases. | | Cmder as Admin | cmd.exe | Administrative Windows cmd.exe Cmder shell. | | PowerShell | powershell.exe | Windows PowerShell enhanced with Git and Git aware prompt . | | PowerShell as Admin | powershell.exe | Administrative Windows powershell.exe Cmder shell. | | Bash | bash.exe | Unix/Linux like bash shell running on Windows. | | Bash as Admin | bash.exe | Administrative Unix/Linux like bash shell running on Windows. | | Mintty | bash.exe | Unix/Linux like bash shell running on Windows. See below for Mintty configuration differences | | Mintty as Admin | bash.exe | Administrative Unix/Linux like bash shell running on Windows. See below for Mintty configuration differences |

Cmder, PowerShell, and Bash tabs all run on top of the Windows Console API and work as you might expect in Cmder with access to use ConEmu's color schemes, key bindings and other settings defined in the ConEmu Settings dialog.

Note: Only the full edition of Cmder comes with a pre-installed bash, using a vendored git-for-windows installation. The pre-configured Bash tabs may not work on Cmder mini edition without additional configuration.

You may however, choose to use an external installation of bash, such as Microsoft's Subsystem for Linux (called WSL) or the Cygwin project which provides POSIX support on windows.

Note: Mintty tabs use a program called 'mintty' as the terminal emulator that is not based on the Windows Console API, rather it's rendered graphically by ConEmu. Mintty differs from the other tabs in that it supports xterm/xterm-256color TERM types, and does not work with ConEmu settings like color schemes and key bindings. As such, some differences in functionality are to be expected, such as Cmder not being able to apply a system-wide configuration to it.

As a result mintty specific config is done via the [%USERPROFILE%|$HOME]/.minttyrc file. You may read more about Mintty and its config file here.

An example of setting Cmder portable terminal colors for mintty:

From a bash/mintty shell:

cd $CMDER_ROOT/vendor
git clone https://github.com/karlin/mintty-colors-solarized.git
cd mintty-colors-solarized/
echo source \$CMDER_ROOT/vendor/mintty-colors-solarized/mintty-solarized-dark.sh>>$CMDER_ROOT/config/user_profile.sh

You may find some Monokai color schemes for mintty to match Cmder here.

Changing Cmder Default cmd.exe Prompt Config File

Th

Related Skills

View on GitHub
GitHub Stars26.8k
CategoryDevelopment
Updated20h ago
Forks2.1k

Languages

PowerShell

Security Score

100/100

Audited on Mar 31, 2026

No findings