Lovely console emulator package for Windows
Go to file
2015-11-24 19:03:46 -06:00
bin Merge remote-tracking branch 'upstream/development' into development 2015-10-12 21:32:33 -06:00
config Get 100% supported Cmder task icons from icons\Cmder.ico so tabs have an ico if launched from the cmder.bat file 2015-11-24 14:52:13 -06:00
icons Now with icons! 2013-11-15 17:06:46 +01:00
launcher Enable the '/single' switch by using the registry as statemachine for the current location ('CMDER_START') 2015-10-20 16:49:08 +02:00
scripts Added lambda prompt for bash/mintty, matches cmder and powershell prompts 2015-11-23 22:13:33 -06:00
vendor Fixed - Powershell vim/vim alias opening a new tab when editin a file 2015-11-24 10:58:58 -06:00
.gitattributes Fix line ending handling if autocrlf is false. 2013-11-27 10:20:34 +01:00
.gitignore Added/enhanced bash with cmder.sh/user-cmder.sh, organized tasks menu 2015-11-14 12:07:56 -06:00
appveyor.yml Disable appveyor test search 2015-11-19 13:57:12 +00:00
Cmder.bat pulled in upstream development branch 2015-11-14 12:15:42 -06:00
CONTRIBUTING.md Create the contributing file. 2014-10-23 10:15:43 +01:00
packignore reverted last change, removed config/user-* from packignore 2015-11-24 19:03:46 -06:00
README.md Added some documentation to the README.md file 2015-11-23 18:20:15 -05:00

Cmder

Join the chat at https://gitter.im/bliker/cmder

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, that is 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.

Installation

  1. Download the latest release
  2. Extract
  3. (optional) Place your own executable files into the bin folder to be injected into your PATH.
  4. Run Cmder

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 a message "Access Denied" ensure 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

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

Shell

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

(Some shortcuts are not yet documented, thought they exist, please add them here)

Features

Access to multiple shells in one window using tabs

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

  • Cmder | Cmder as Admin - Enhanced Windows 'cmd.exe' shell.
  • Powershell | Powershell as Admin - Enhanced Windows Powershell.
  • Bash/mintty | Bash/mintty as Admin - Unix/Linux like bash shell running on Windows.

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.

Mintty tabs use a program called 'mintty' as the terminal that is not based on the Windows Console API so some differences in functionality are normal, as a result mintty specific config is done via the '[%USERPROFILE%|$HOME]/.minttyrc' file.

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. For more on Mintty and its config click 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-cmder.sh

Cmder Portable Shell User Config

User specific configuration is possible using the cmder specific shell config files. Edit the below files to add your own configuration:

  • Cmder - %CMDER_ROOT%\config\user-startup.cmd
  • Powershell - $ENV:CMDER_ROOT\config\user-profile.ps1
  • Bash/Mintty - $CMDER_ROOT/config/user-cmder.sh

Bash and Mintty sessions will also source the '$HOME/.bashrc' file it it exists before it sources '$CMDER_ROOT/config/user-cmder.sh'.

Aliases

You can define simple aliases with command alias name=command.

For example there is one defined for you alias e.=explorer .

All aliases will be saved in /config/aliases file

SSH Agent

To start SSH agent simply call start-ssh-agent, which is in the vendor/git-for-windows/cmd folder.

If you want to run SSH agent on startup, include the line @call "%GIT_INSTALL_ROOT%/cmd/start-ssh-agent.cmd" in /config/user-startup.bat (usually just uncomment it).

Todo

  1. Check for clink and git before injecting them (Sort of done)

License

All software included is bundled with own license

The MIT License (MIT)

Copyright (c) 2015 Samuel Vasko

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.