Lovely console emulator package for Windows

Overview

Cmder

Join the chat at https://gitter.im/cmderdev/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, 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] Forwads 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 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
  • Ctrl + Tab : Switch to next tab
  • Ctrl + Shift + Tab : Switch to previous tab
  • Ctrl + #Number : Switch to tab #Number
  • Alt + Enter: Fullscreen

Shell

  • Ctrl + Alt + U : 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, 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

The default Cmder shell cmd::Cmder propmt is customized using Clink and is configured by editing a config file that exists in one of two locations:

  • Single User Portable Config %CMDER_ROOT%\config\cmder_prompt_config.lua
  • Shared Cmder install with Non-Portable Individual User Config %CMDER_USER_CONFIG%\cmder_prompt_config.lua

If your Cmder setup does not have this file create it from %CMDER_ROOT%\vendor\cmder_prompt_config.lua.default

Customizations include:

  • Colors.
  • Single/Multi-line.
  • Full path/Folder only.
  • [user]@[host] to the beginning of the prompt.
  • ~ for home directory.
  • λ symbol

Documentation is in the file for each setting.

Changing Cmder Default cmd.exe Shell Startup Behaviour Using Task Arguments

  1. Press Win + Alt + T
  2. Click either:
  • 1. {cmd::Cmder as Admin}
  • 2. {cmd::Cmder}
  1. Add command line arguments where specified below:

Note: Pay attention to the quotes!

cmd /s /k ""%ConEmuDir%\..\init.bat" [ADD ARGS HERE]"
Command Line Arguments for init.bat
Argument Description Default
/c [user cmder root] Enables user bin and config folders for 'Cmder as admin' sessions due to non-shared environment. not set
/d Enables debug output. not set
/f Enables Cmder Fast Init Mode. This disables some features, see pull request #1492 for more details. not set
/t Enables Cmder Timed Init Mode. This displays the time taken run init scripts not set
/git_install_root [file path] User specified Git installation root path. %CMDER_ROOT%\vendor\Git-for-Windows
/home [home folder] User specified folder path to set %HOME% environment variable. %userprofile%
/max_depth [1-5] Define max recurse depth when adding to the path for %cmder_root%\bin and %cmder_user_bin% 1
/nix_tools [0-2] Define how *nix tools are added to the path. Prefer Windows Tools: 1, Prefer *nix Tools: 2, No /usr/bin in %PATH%: 0 1
/svn_ssh [path to ssh.exe] Define %SVN_SSH% so we can use git svn with ssh svn repositories. %GIT_INSTALL_ROOT%\bin\ssh.exe
/user_aliases [file path] File path pointing to user aliases. %CMDER_ROOT%\config\user_aliases.cmd
/v Enables verbose output. not set
(custom arguments) User defined arguments processed by cexec. Type cexec /? for more useage. not set

Cmder Shell User Config

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

Shell Cmder Portable User Config
Cmder %CMDER_ROOT%\config\user_profile.cmd
PowerShell $ENV:CMDER_ROOT\config\user_profile.ps1
Bash/Mintty $CMDER_ROOT/config/user_profile.sh

Note: Bash and Mintty sessions will also source the $HOME/.bashrc file if it exists after it sources $CMDER_ROOT/config/user_profile.sh.

You can write *.cmd|*.bat, *.ps1, and *.sh scripts and just drop them in the %CMDER_ROOT%\config\profile.d folder to add startup config to Cmder.

Shell Cmder Profile.d Scripts
Cmder %CMDER_ROOT%\config\profile.d\*.bat and *.cmd
PowerShell $ENV:CMDER_ROOT\config\profile.d\*.ps1
Bash/Mintty $CMDER_ROOT/config/profile.d/*.sh

Git Status Opt-Out

To disable Cmder prompt git status globally add the following to ~/.gitconfig or locally for a single repo [repo]/.git/config and start a new session.

Note: This configuration is not portable

[cmder]
  status = false      # Opt out of Git status for 'ALL' Cmder supported shells.
  cmdstatus = false   # Opt out of Git status for 'Cmd.exe' shells.
  psstatus = false    # Opt out of Git status for 'Powershell.exe and 'Pwsh.exe' shells.
  shstatus = false    # Opt out of Git status for 'bash.exe' shells.

Aliases

Cmder(Cmd.exe) Aliases

You can define simple aliases for cmd.exe sessions with a command like alias name=command. Cmd.exe aliases support optional parameters through the $1-9 or the $* special characters so the alias vi=vim.exe $* typed as vi [filename] will open [filename] in vim.exe.

Cmd.exe aliases can also be more complex. See: DOSKEY.EXE documentation for additional details on complex aliases/macros for cmd.exe

Aliases defined using the alias.bat command will automatically be saved in the %CMDER_ROOT%\config\user_aliases.cmd file

To make an alias and/or any other profile settings permanent add it to one of the following:

Note: These are loaded in this order by $CMDER_ROOT/vendor/init.bat. Anything stored in %CMDER_ROOT% will be a portable setting and will follow cmder to another machine.

  • %CMDER_ROOT%\config\profile.d\*.cmd and \*.bat
  • %CMDER_ROOT%\config\user_aliases.cmd
  • %CMDER_ROOT%\config\user_profile.cmd

Bash.exe|Mintty.exe Aliases

Bash shells support simple and complex aliases with optional parameters natively so they work a little different. Typing alias name=command will create an alias only for the current running session.

To make an alias and/or any other profile settings permanent add it to one of the following:

Note: These are loaded in this order by $CMDER_ROOT/vendor/git-for-windows/etc/profile.d/cmder.sh. Anything stored in $CMDER_ROOT will be a portable setting and will follow cmder to another machine.

  • $CMDER_ROOT/config/profile.d/*.sh
  • $CMDER_ROOT/config/user_profile.sh
  • $HOME/.bashrc

If you add bash aliases to $CMDER_ROOT/config/user_profile.sh they will be portable and follow your Cmder folder if you copy it to another machine. $HOME/.bashrc defined aliases are not portable.

PowerShell.exe Aliases

PowerShell has native simple alias support, for example [new-alias | set-alias] alias command, so complex aliases with optional parameters are not supported in PowerShell sessions. Type get-help [new-alias|set-alias] -full for help on PowerShell aliases.

To make an alias and/or any other profile settings permanent add it to one of the following:

Note: These are loaded in this order by $ENV:CMDER_ROOT\vendor\user_profile.ps1. Anything stored in $ENV:CMDER_ROOT will be a portable setting and will follow cmder to another machine.

  • $ENV:CMDER_ROOT\config\profile.d\*.ps1
  • $ENV:CMDER_ROOT\config\user_profile.ps1

SSH Agent

To start the vendored 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 %CMDER_ROOT%/config/user_profile.cmd (usually just uncomment it).

Vendored Git

Cmder is by default shipped with a vendored Git installation. On each instance of launching Cmder, an attempt is made to locate any other user provided Git binaries. Upon finding a git.exe binary, Cmder further compares its version against the vendored one by executing it. The vendored git.exe binary is only used when it is more recent than the user-installed one.

You may use your favorite version of Git by including its path in the %PATH% enviroment variable. Moreover, the Mini edition of Cmder (found on the downloads page) excludes any vendored Git binaries.

Using external Cygwin/Babun, MSys2, WSL, or Git for Windows SDK with Cmder.

You may run bash (the default shell used on Linux, macOS and GNU/Hurd) externally on Cmder, using the following instructions:

  1. Setup a new task by pressing Win +Alt + T.
  2. Click the + button to add a task.
  3. Name the new task in the top text box.
  4. Provide task parameters, this is optional.
  5. Add cmd /c "[path_to_external_env]\bin\bash --login -i" -new_console to the Commands text box.

Recommended Optional Steps:

Copy the vendor/cmder_exinit file to the Cygwin/Babun, MSys2, or Git for Windows SDK environments /etc/profile.d/ folder to use portable settings in the $CMDER_ROOT/config folder.

Note: MinGW could work if the init scripts include profile.d but this has not been tested.

The destination file extension depends on the shell you use in that environment. For example:

  • bash - Copy to /etc/profile.d/cmder_exinit.sh
  • zsh - Copy to /etc/profile.d/cmder_exinit.zsh

Uncomment and edit the below line in the script to use Cmder config even when launched from outside Cmder.

# CMDER_ROOT=${USERPROFILE}/cmder  # This is not required if launched from Cmder.

Customizing user sessions using init.bat custom arguments.

You can pass custom arguments to init.bat and use cexec.cmd in your user_profile.cmd to evaluate these arguments then execute commands based on a particular flag being detected or not.

init.bat creates two shortcuts for using cexec.cmd in your profile scripts.

%ccall% - Evaluates flags, runs commands if found, and returns to the calling script and continues.

ccall=call C:\Users\user\cmderdev\vendor\bin\cexec.cmd

Example: %ccall% /startnotepad start notepad.exe

%cexec% - Evaluates flags, runs commands if found, and does not return to the calling script.

cexec=C:\Users\user\cmderdev\vendor\bin\cexec.cmd

Example: %cexec% /startnotepad start notepad.exe

It is useful when you have multiple tasks to execute cmder and need it to initialize the session differently depending on the task chosen.

To conditionally start notepad.exe when you start a specific cmder task:

  • Press win+alt+t

  • Click + to add a new task.

  • Add the below to the Commands block:

    cmd.exe /k ""%ConEmuDir%\..\init.bat" /startnotepad"
    
  • Add the below to your %cmder_root%\config\user_profile.cmd

    %ccall% "/startNotepad" "start" "notepad.exe"`
    

To see detailed usage of cexec, type cexec /? in cmder.

Integrating Cmder with Hyper, Microsoft VS Code, and your favorite IDEs

Cmder by default comes with a vendored ConEmu installation as the underlying terminal emulator, as stated here.

However, Cmder can in fact run in a variety of other terminal emulators, and even integrated IDEs. Assuming you have the latest version of Cmder, follow the following instructions to get Cmder working with your own terminal emulator.

For instructions on how to integrate Cmder with your IDE, please read our Wiki section.

Upgrading

The process of upgrading Cmder depends on the version/build you are currently running.

If you have a [cmder_root]/config/user[-|_]conemu.xml, you are running a newer version of Cmder, follow the below process:

  1. Exit all Cmder sessions and relaunch [cmder_root]/cmder.exe, this backs up your existing [cmder_root]/vendor/conemu-maximus5/conemu.xml to [cmder_root]/config/user[-|_]conemu.xml.

    • The [cmder_root]/config/user[-|_]conemu.xml contains any custom settings you have made using the 'Setup Tasks' settings dialog.
  2. Exit all Cmder sessions and backup any files you have manually edited under [cmder_root]/vendor.

    • Editing files under [cmder_root]/vendor is not recommended since you will need to re-apply these changes after any upgrade. All user customizations should go in [cmder_root]/config folder.
  3. Delete the [cmder_root]/vendor folder.

  4. Extract the new cmder.zip or cmder_mini.zip into [cmder_root]/ overwriting all files when prompted.

If you do not have a [cmder_root]/config/user[-|_]conemu.xml, you are running an older version of cmder, follow the below process:

  1. Exit all Cmder sessions and backup [cmder_root]/vendor/conemu-maximus5/conemu.xml to [cmder_root]/config/user[-|_]conemu.xml.

  2. Backup any files you have manually edited under [cmder_root]/vendor.

    • Editing files under [cmder_root]/vendor is not recommended since you will need to re-apply these changes after any upgrade. All user customizations should go in [cmder_root]/config folder.
  3. Delete the [cmder_root]/vendor folder.

  4. Extract the new cmder.zip or cmder_mini.zip into [cmder_root]/ overwriting all files when prompted.

Current development builds

You can download builds of the current development branch by going to AppVeyor via the following link:

AppVeyor

License

All software included is bundled with own license

The MIT License (MIT)

Copyright (c) 2016 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.

Comments
  • Run cmder inside IntelliJ idea

    Run cmder inside IntelliJ idea

    Currently I am running Git bash inside IntelliJ Idea (http://blog.codeleak.pl/2014/02/git-bash-in-intellij-idea-13-on-windows.html). I would like to use cmder but I need to know if I can do the same, and if so, what command line arguments do I need to supply?

    ❔ Type: Question 💬 Type: Guide 
    opened by justechn 119
  • api-ms-win-crt-runtime-l1-1-0.dll error

    api-ms-win-crt-runtime-l1-1-0.dll error

    api-ms-win-crt-runtime-l1-1-0.dll error. can not found be

    Edit: The solution has the following comment.

    Fixed. I tried @squimer solution.

    https://github.com/bliker/cmder/issues/501#issuecomment-104749350

    I've solved my problem with Visual C++ Redistributable for Visual Studio 2015:

    For Windows 64-bit http://download.microsoft.com/download/0/4/1/041224F6-A7DC-486B-BD66->BCAAF74B6919/vc_redist.x64.exe

    For Windows 32-bit http://download.microsoft.com/download/0/4/1/041224F6-A7DC-486B-BD66-BCAAF74B6919/vc_redist.x86.exe

    opened by aligoren 96
  • Taskbar icon after pinning the program reverts to default ConEmu icon. Systray icon is always ConEmu's.

    Taskbar icon after pinning the program reverts to default ConEmu icon. Systray icon is always ConEmu's.

    First of all, congratulations on your great customization and integration work! Cmder is a true visual joy. :-) As for the report, the issue can be easily reproduced just by 1) launching Cmder, right-clicking its icon on the taskbar, and choosing "Pin this program...", and 2) looking also at the systray icons.

    opened by dcominottim 93
  • {git}, {lamb} and strange new console options

    {git}, {lamb} and strange new console options

    Fresh download of mini or full version 1.1.3, opening cmder.exe results in {git} and {lamb} in prompt.

    image

    As per similar issues resolution- https://github.com/bliker/cmder/issues/126 Attempting to remove clink from global autorun image Doesn't have an effect that I can see.

    Also new console window has some strange options image

    This is my first time attempting to use cmder, have never had clink installed before.

    Also the installation instructions on the homepage reference cmder.bat, which is not contained in the v1.1.3 archives.

    👆 clink 👆 ConEmu ❌ Outdated Installation 
    opened by ashecorven 88
  • cmder is extremely slow

    cmder is extremely slow

    Hi,

    Cmder is very slow (I don't know if it's only me or not, I guess not).

    • It takes about 6 seconds to open a new tab (cmd/powershell with the injections)
    • 1.5-2 seconds to get output after pressing enter (even if it was an empty command. just pressing enter)
    • The thing that takes most of the time from what I've seen, is the process of what cmder.lua does. Without it it takes significant less time to do simple operations (still not speedy as regular cmd or cygwin, but reasonable).
    • I didn't pass through the script to see what it does (except setting some settings) but another thing that happens is that when I press enter I can see the tab name changing to git.exe and going back to cmd.exe afterwards. This process which I don't know yet why it's happening also slows it down a lot.

    Hope those are things that can be fixed!

    Please tell me if there's something I can check to help with that. It's a great tool and it's frustrating that I can't use it.

    Thanks! :sunny: Ariel



    If needed, I can record my screen while doing simple actions to demonstrate it :video_camera: :computer:

    ❌ Outdated Installation 
    opened by arieljannai 62
  • New cmder.exe args and shared install capability

    New cmder.exe args and shared install capability

    1.3.6-pre1 (2018-03-01)

    Fixed bugs:

    • Fixed Git version check recently added to master.

    Updates:

    • Modified Cmder tasks in default Conemu.xml to allow easily adding command line args for init.bat by adding some quotes. This resulted in a ton of misc changes to this file. See Adds below.
    • Reworked cmder.exe command line argument handling to make it more flexible and easily added to.
    • Reworked README.md tables to make them more readable in editors

    Implemented enhancements:

    • Append %GIT_INSTALL_ROOT%\mingw32|64 folder to the path if it exists. Thanks: @gucong3000
    • Added cmder.exe command line args documenttion to README.md
    • Added :enhance_path method to vendor\init.bat that modifies the path only if required.
      • To prepend: call :enhance_path "%cmder_root%"
      • to append: call :enhance_path "%cmder_root%" append
    • Added :enhance_path_recursive method to vendor\init.bat that adds a path and all its sub directories to the path if required.
      • Max recurse depth default is '1' configurable using init.bat /max_depth [1-5]. 6+ results in error.
      • To prepend and go 3 levels deep: call :enhance_path "%cmder_root%" 3
      • To append and go 2 levels deep: call :enhance_path "%cmder_root%" 2 append
    • Added ability to init.bat to accept command line args and documented them in README.md. Allows users to change the behaviour of init.bat without editing the file.

    | Argument | Description | Default | | ----------------------------- | ---------------------------------------------------------------------------------------------- | ------------------------------------- | | /c [user cmder root] | Enables user bin and config folders for 'Cmder as admin' sessions due to non-shared environment. | not set | | /d | Enables debug output. | not set | | /git_install_root [file path] | User specified Git installation root path. | '%CMDER_ROOT%\vendor\Git-for-Windows' | | /home [home folder] | User specified folder path to set %HOME% environment variable. | '%userprofile%' | | /max_depth [1-5] | Define max recurse depth when adding to the path for %cmder_root%\bin and %cmder_user_bin% | 1 | | /svn_ssh [path to ssh.exe] | Define %SVN_SSH% so we can use git svn with ssh svn repositories. | '%GIT_INSTALL_ROOT%\bin\ssh.exe' | | /user_aliases [file path] | File path pointing to user aliases. | '%CMDER_ROOT%\config\user-liases.cmd' | | /v | Enables verbose output. | not set |

    • Added new cmder.exe /C \<path\> argument
      • To use run Cmder.exe with "/C" command line argument. Example: cmder.exe /C %userprofile%\cmder_config

      • To use run with Cmder as Admin sessions you must specify "/c" command line argument to init.bat in tasks. See README.md for details.

      • Enables shared Cmder install with Non-Portable Individual User Config

      • Supported by all supported shells (cmder, powershell, git bash, and external bash)

      • This will create the following directory structure if it is missing.

        c:\users\[username]\cmder_config
        ├───bin
        └───config
            └───profile.d
        
      • Shell init scripts run in the following order

        1. %cmder_root%\config\profile.d*.[cmd|ps1|sh]
        2. %cmder_root%\config\user-profile.[cmd|ps1|sh]
        3. %userprofile%\cmder_config\config\profile.d*.[cmd|ps1|sh]
        4. %userprofile%\cmder_config\config\user-profile.[cmd|ps1|sh]
    opened by daxgames 56
  • Cmder and TCC incompatibility (init.bat startup error)?

    Cmder and TCC incompatibility (init.bat startup error)?

    EDIT: Realized I had a pretty outdated version of Cmder running. (see past edits). Updated to the latest release...but get an even more confusing error.

    Unknown command "/c" echo "C:\tools\cmder\vendor\conemu-maximus5\ConEmu\Scripts;C:\tools\cmder\vendor\conemu-maximus5;C:\tools\cmder\vendor\conemu-maximus5\ConEmu;C:\Program":\Program"
    Unknown command "/c" echo "C:\tools\cmder\vendor\conemu-maximus5\ConEmu\Scripts;C:\tools\cmder\vendor\conemu-maximus5;C:\tools\cmder\vendor\conemu-maximus5\ConEmu;C:\Program":\Program"
    Unknown command "/c" echo "C:\tools\cmder\vendor\conemu-maximus5\ConEmu\Scripts;C:\tools\cmder\vendor\conemu-maximus5;C:\tools\cmder\vendor\conemu-maximus5\ConEmu;C:\Program":\Program"
    Unknown command "/c" echo "C:\tools\cmder\vendor\conemu-maximus5\ConEmu\Scripts;C:\tools\cmder\vendor\conemu-maximus5;C:\tools\cmder\vendor\conemu-maximus5\ConEmu;C:\Program":\Program"
    Unknown command "/c" echo "C:\tools\cmder\vendor\conemu-maximus5\ConEmu\Scripts;C:\tools\cmder\vendor\conemu-maximus5;C:\tools\cmder\vendor\conemu-maximus5\ConEmu;C:\Program":\Program"
    Unknown command "/c" echo "C:\tools\cmder\vendor\conemu-maximus5\ConEmu\Scripts;C:\tools\cmder\vendor\conemu-maximus5;C:\tools\cmder\vendor\conemu-maximus5\ConEmu;C:\Program":\Program"
    Unknown command "/c" echo "C:\tools\cmder\vendor\conemu-maximus5\ConEmu\Scripts;C:\tools\cmder\vendor\conemu-maximus5;C:\tools\cmder\vendor\conemu-maximus5\ConEmu;C:\Program":\Program"
    Unknown command "/c" echo "C:\tools\cmder\vendor\conemu-maximus5\ConEmu\Scripts;C:\tools\cmder\vendor\conemu-maximus5;C:\tools\cmder\vendor\conemu-maximus5\ConEmu;C:\Program":\Program"
    TCC: TCC: Unknown command "/c" echo "C:\tools\cmder\bin;C:\tools\cmder\vendor\conemu-maximus5\ConEmu\Scripts;C:\tools\cmder\vendor\conemu-maximus5;C:\tools\cmder\vendor\conemu-maximus5\ConEmUnknown command "/c" echo "C:\tools\cmder\bin;C:\tools\cmder\vendor\conemu-maximus5\ConEmu\Scripts;C:\tools\cmder\vendor\conemu-maximus5;C:\tools\cmder\vendor\conemu-maximus5\ConEmu;C:\Program"
    TCC: TCC: Unknown command "/c" echo "C:\tools\cmder\bin;C:\tools\cmder\vendor\conemu-maximus5\ConEmu\Scripts;C:\tools\cmder\vendor\conemu-maximus5;C:\tools\cmder\vendor\conemu-maximus5\ConEmUnknown command "/c" echo "C:\tools\cmder\bin;C:\tools\cmder\vendor\conemu-maximus5\ConEmu\Scripts;C:\tools\cmder\vendor\conemu-maximus5;C:\tools\cmder\vendor\conemu-maximus5\ConEmu;C:\Program"
    Unknown command "/c" type "C:\tools\cmder\config\user-aliases.cmd" ""es.cmd" ""
    Creating initial user-aliases store in "C:\tools\cmder\config\user-aliases.cmd"...
            1 file(s) copied.
            1 file(s) copied.
    Updating old "C:\tools\cmder\config\user-aliases.cmd" to new format...
    
    opened by YenForYang 54
  • VSCode integration results in an inconsistent environment

    VSCode integration results in an inconsistent environment

    First of all, a million thanks for this project. <3

    Purpose of the issue

    • [x] Bug report (encountered problems/errors)
    • [ ] Feature request (request for new functionality)
    • [ ] Question

    Version Information

    Cmder: 1.3.14.982 ConEmu 191012 OsVer: 10.0.19559.x64

    Background

    My ConEmu task is:

    -new_console:d:D:\ cmd /k ""%ConEmuDir%\..\init.bat" /f /nix_tools 0"
    

    and I launch cmder.exe with this shortcut:

    %CMDER_ROOT%\Cmder.exe /C "%DOTFILES_ROOT%\cmder"
    

    where DOTFILES_ROOT is my local dotfiles Git repo.

    In the wiki, it's recommended to add the following to vscode's settings.json:

      "terminal.integrated.shellArgs.windows": [
        "/k",
        "%CMDER_ROOT%\\vendor\\bin\\vscode_init.cmd"
      ],
    

    At the time of this writing, vscode_init.cmd merely calls init.bat without any arguments.

    Problem 1

    If I don't launch Visual Studio Code from cmder (e.g. Windows Explorer context menu, Start Menu, Desktop shortcut, etc.), the options to init.bat are not the same as in my ConEmu task. Additionally, this means my %DOTFILES_ROOT%\cmder user config is not picked up.

    Workaround 1

    I worked around this by adding a wrapper init.bat and duplicating vscode_init.cmd:

    :: %DOTFILES_ROOT%\cmder\init.bat
    "%CMDER_ROOT%\vendor\init.bat" /c "%DOTFILES_ROOT%\cmder" /f /nix_tools 0
    
    :: %DOTFILES_ROOT%\cmder\vscode_init.cmd
    :: Copied from cmder's vscode_init, but adjusted to call our init.bat
    @echo off
    IF [%1] == [] (
        REM -- manually opened console (Ctrl + Shift + `) --
        CALL "%~dp0init.bat"
    ) ELSE (
        REM -- task --
        CALL cmd %*
        exit
    )
    

    modifying the ConEmu task to:

    -new_console:d:D:\ cmd /k ""%DOTFILES_ROOT%\cmder\init.bat""
    

    and the vscode settings.json to:

        "terminal.integrated.shellArgs.windows": [
            "/k",
            "%DOTFILES_ROOT%\\cmder\\vscode_init.cmd"
        ]
    

    This ensures parity between init.bat options in the ConEmu task and in the vscode shellArgs.

    This actually leads to a second (probably less important) problem:

    Problem 2

    If I launch vscode from Cmder (code ., or similar), then PATH is effectively "re-enhanced", resulting in a PATH like:

    PATH=[cmder init.bat][cmder init.bat][global]
    

    where [cmder init.bat] are the modifications made to PATH by init.bat and my user configuration, and [global] is the global (system?) value of PATH.

    I believe by removing the /f option to init.bat, cmder's PATH enhancements will not be duplicated, but my user configuration still will (unless I were to use lib_path as well?).

    In most cases, I agree that duplicated values in PATH is merely unsightly. However, it can be a problem if modifications to PATH (let's call them [session]) are made after launching Cmder but before launching vscode. This results in something like:

    PATH=[cmder init.bat][session][cmder init.bat][global]
    

    All of our projects at work require setting up PATH (and other envs) before launching vscode, i.e. the workflow is something like:

    • start Cmder
    • cd [project_dir]
    • scripts\edit.bat (this prepends [session] to PATH and launches vscode)
    • scripts\test.bat (this prepends [session] to PATH and runs the tests)

    So why is it problematic? Simply because it means the environment I get in a vscode terminal isn't the same as the environment I run the tests in, and in fact isn't even the same as the environment that VSCode tasks (such as running the tests and debugging) run in. I haven't come across any problems with this yet, but it bothers me.

    Workaround 2

    My workaround for the above was to tweak my init.bat to use CMDER_CONFIGURED (which isn't used anywhere AFAICT?):

    if not defined CMDER_CONFIGURED goto :first
    
    :: Copied from cmder's init.bat
    "%CMDER_ROOT%\vendor\clink\clink_x%architecture%.exe" inject --quiet --profile "%CMDER_USER_CONFIG%" --scripts "%CMDER_ROOT%\vendor" || exit /b
    :: PATH and friends already set. Aliases are the only thing that don't persist, for some reason
    alias /reload >nul || exit /b
    exit /b 0
    
    :first
    "%CMDER_ROOT%\vendor\init.bat" /c "%DOTFILES_ROOT%\cmder" /f /nix_tools 0
    exit /b %ERRORLEVEL%
    

    Conclusion

    Re: problem 1: Am I missing something?

    Problem 2 can probably be avoided by not using /f and using lib_path enhance_path in my user_profile.cmd? Would it be worth mentioning that somewhere (sincere apologies if it already is).

    opened by selimb 52
  • Git process not ending.

    Git process not ending.

    Got to work this morning and Cmder asked me to update.

    Since then it seems the git process does not end when you enter a directory setup as a repo.

    This causes the following error when you try to commit:

    C:\xampp\htdocs\SNIP (master)
    λ git commit -m "added initial clean files"
    fatal: Unable to create 'C:/xampp/htdocs/SNIP/.git/index.lock': File exists.
    
    Another git process seems to be running in this repository, e.g.
    an editor opened by 'git commit'. Please make sure all processes
    are terminated then try again. If it still fails, a git process
    may have crashed in this repository earlier:
    remove the file manually to continue.
    

    I feel like the process is not ending as when you enter the directory the tabs at the bottom is still showing git.exe but I am able to type in the prompt:

    http://imgur.com/a/x0YGi

    You also get the incomplete operations confirmation dialog.

    http://imgur.com/a/HIZOz

    🐛 Type: Bug 
    opened by 0x539 43
  • Lag returning to prompt (especially) in git repo

    Lag returning to prompt (especially) in git repo

    When using cmder with git (where it shows the name of my currently checked out branch next to the location), I'm finding that my commands are executed quickly but there is a major delay returning to the prompt so I can enter in another command. I notice this to some extent when I'm not in a git repo, but then the delay is almost not noticeable (100-200ms I'd guess), as opposed to 1-2 seconds in a repo.

    To give further details, in my repo if I type ls, the file list comes up immediately, then the current tab changes from saying "cmd.exe" to "git.exe", and only after 1-2 seconds do I get a lambda prompt again where I can enter further commands.

    I'm running Windows 8.1 and cmder.exe is installed in Program Files. Let me know if any more details would be helpful.

    opened by Keilan 41
  • How to start in a given directory

    How to start in a given directory

    I am trying to integrate cmder into TotalCommander.

    I have been using cmd.exe and msysgit integration in with custom keys (F8, F9) to start them in the current directories from Total Commander.

    I would like to do it with cmder, but every time it starts in the user's homedir. Is there any way to make cmder start in a given dir?

    opened by hyperknot 41
Releases(v1.3.19)
  • v1.3.19(Jan 16, 2022)

    1.3.19 (2022-01-15)

    Changes

    • Update Git for Windows to 2.34.0
    • Update to Clink 1.2.46
    • Update to stable Conemu 210912
    • Do not rely on having a %cmder_root%\config\cmder_prompt_config.lua

    Adds

    • Powershell Git version Discovery - See #2373 for the full proposal.
      • Find user installed Git on Path
        • If found
          • if newer than Cmder embedded Git
            • Use it's existing Path config and completely ignore embedded Git.
          • Else if Cmder embedded Git exists and is newer
            • Match User installed Git path config using Cmder embedded Git folders.
        • Else if Cmder embedded Git exists
          • Add Cmder embedded Git folders to the path.
            • $env:cmder_root\vendor\git-for-windows\cmd;$env:path
            • $env:path;$env:cmder_root\vendor\git-for-windows\usr\bin
            • $env:path;$env:cmder_root\vendor\git-for-windows\mingw64\bin
    • Configurable prompt for cmd.exe sessions. See %cmder_root%\config\cmder_prompt_config.lua
      • Configurable colors
      • Option to change λ to another character.
      • Option to add [user]@[host] to the prompt
      • Option to use of ~ to represent $HOME folder.
      • Option to use folder name vs. full working directory path in prompt.
      • Option to use single line prompt.

    Fixes

    • Git prompt opt-out works better with additional changes to clink-completions
    Source code(tar.gz)
    Source code(zip)
    cmder.7z(64.65 MB)
    cmder.zip(120.20 MB)
    cmder_mini.zip(10.03 MB)
    hashes.1.txt(232 bytes)
  • v1.3.18(Mar 26, 2021)

  • v1.3.17(Dec 23, 2020)

    1.3.17 (2020-12-23)

    NOTE: This release includes a newer version of pre-release Clink. Current Clink 0.4.9 settings or history are not migrated or used from previous installs. See #2451

    Fixes

    • [bug] Running alias ..=cd .. removes other aliases #2394
    • Switch to @chrisant996 Clink v1.1.10 to fix Clink newer Windows 10 releases.
    • Fix \Git\cmd\git.exe found. was unexpected at this time.
    • Documentation fixes.

    Changes

    • Update Git to 2.29.0
    • Improve init.bat Speed
    • Add systeminfo.exe output to iag scripts.
    Source code(tar.gz)
    Source code(zip)
    cmder.7z(62.65 MB)
    cmder.zip(116.48 MB)
    cmder_mini.zip(9.38 MB)
    hashes.txt(232 bytes)
  • v1.3.16(Jul 30, 2020)

  • v1.3.15(Jun 26, 2020)

    1.3.15 (2020-06-26)

    • Fixes #2247, fixes #2254 #2265
    • Clink path get broken if clink-completions content is created in a different order #2278Clink path get broken if clink-completions content is created in a different order #2278
    • Move Git functions to lib/git.bat #2293
    • Fix Cmder issue #2290 #2294
    • Update git for windows to 2.26.2 #2308
    • Update README.md #2323Update README.md #2323
    • Added support for setting custom icons for Cmder window #2335
    • Fix and enhance enhance_path_recursive #2311
    Source code(tar.gz)
    Source code(zip)
    cmder.7z(61.14 MB)
    cmder.zip(115.38 MB)
    cmder_mini.zip(9.13 MB)
    hashes.txt(232 bytes)
  • v1.3.14(Jan 9, 2020)

    1.3.14 (2020-01-08)

    Fixes

    • Pull Request: #2222
      • Cmder v1.3.13 init script fails. #2218
      • Git & env related error messages. #2220
      • Latest addition of "--nolog" clink breaks cmd prompts. #2166
      • /nix_tools 0 should prevent adding %GIT_INSTALL_ROOT%\mingw64\bin to PATH. #2214

    Changes

    • Update Git for Windows to 2.24.1.windows.2
    • Update clink-completions to 0.3.5
    Source code(tar.gz)
    Source code(zip)
    cmder.7z(62.64 MB)
    cmder.zip(117.94 MB)
    cmder_mini.zip(9.13 MB)
    hashes.txt(232 bytes)
  • v1.3.13(Nov 23, 2019)

    1.3.13 (2019-11-23)

    Changes

    • Update to Conemu 19.10.12

    Adds

    • #2197, #1364, #447 Add ability to disable git status either globally or for individual repos.

      • To disable git status globally add the following to ~/.gitconfig or locally for a single repo [repo]/.git/config:

        [cmder]
          status = false      # Opt out of Git status for 'ALL' Cmder supported shells.
          cmdstatus = false   # Opt out of Git status for 'Cmd.exe' shells.
          psstatus = false    # Opt out of Git status for 'Powershell.exe and 'Pwsh.exe' shells.
          shstatus = false    # Opt out of Git status for 'bash.exe' shells.
        
    • #2174 -- Syntax to pass command line options to Conemu.

    • Disable Clink Logging

    • Add ~ tab completion.

    Fixes

    • Fix #2191: profile.ps1: CheckGit does not export $gitLoaded
    • Fix #2192: Set default prompt hooks before loading user profile
    • Fix #2097, #1899: powershell foreground color changing to green
    • Fix #1979: Update Clink Completions to 0.3.4
    • Fix #1678: Cmder corrupting path with ! in Cmder folder path.
    Source code(tar.gz)
    Source code(zip)
    cmder.7z(62.12 MB)
    cmder.zip(117.34 MB)
    cmder_mini.zip(9.13 MB)
    hashes.txt(232 bytes)
  • v1.3.12(Aug 18, 2019)

    1.3.12 (2019-08-19)

    Fixes

    • Pull Request: #2113
      • Add vendor\bin\vscode_init.cmd for use with Visual Studio Code
      • Fixes #2118
      • Fixes #1985
    • Pull Request: #2106
      • Portable Git requires running post-install.bat which deletes itself when done. This was not happening.
      • Resolves #2105
    • Pull Request: #2002
      • Updated the HG prompt code to use the '-ib' option to 'hg id' so the branch name is always available, regardless of the state of the working copy

    Changes

    • Pull Request: #2055
      • Upgrade git to 2.21.0
      • Provide default settings for Clink that updates the history file in real time
        • Turn this on in existing Cmder using clink set history_io 1
      • Allow clink disable by setting CMDER_CLINK=0 before starting task
    • Pull Request: #2068
      • Print Index in History Command Output.
      • Sets default history_expand_mode = 3 in initial Clink Settings.

    Adds

    • Pull Request : #2096
      • Question issue: #2094
      • New argument created to ConEmu forwarding arguments.
        • Syntax: /x [ConEmu extras arguments]
        • e.g.: Cmder.exe /x "-min -tsa"
    Source code(tar.gz)
    Source code(zip)
    cmder.7z(60.34 MB)
    cmder.zip(113.74 MB)
    cmder_mini.zip(8.46 MB)
    hashes.txt(232 bytes)
  • v1.3.11(Dec 22, 2018)

    1.3.11 (2018-12-22)

    Fixes

    • Fix uncommenting call ssh-agent in user_profile.cmd breaks Cmder prompt. #1990, #1807, #1785, #1885
      • Pull Request: #1999 fix ssh-agent call in user_profile.cmd.default
    • Unable to use '%' character in git branch names #1779
      • Pull Request: #1991 add percent escaping for string.gsub
    • sort command, unix vs windows (/usr/bin/sort vs sort.exe) #1931
      • Pull Request: #1988 Prefer /nix_tools option

    Adds

    • #1988 Prefer /nix_tools option
    • #1982 make /register work with /single
    • #1975 Add /nix_tools 0 option to init.bat to prevent adding !GIT_INSTALL_ROOT!\usr\bin to PATH

    Changes

    • #1987 Use default files for default user profiles
    Source code(tar.gz)
    Source code(zip)
    cmder.7z(57.16 MB)
    cmder.zip(107.80 MB)
    cmder_mini.zip(8.45 MB)
    hashes.txt(232 bytes)
  • v1.3.10(Nov 30, 2018)

    Fixes

    • Replaces Cmder Release v1.3.9 which has been removed.

    • /c now completely separates user config including Conemu configuration. This enables true multi-user Cmder with no configuration collisions. See PR #1949.

    • Fix #1959 Start cmder "find" errors. See PR #1961.

    • Fix #1956 Git detection should use env from git install root. See PR #1969

    Adds

    • /m initially creates %cmder_root%/config/conemu-%computername%.xml for users that want per computer Conemu configuration with shared init scripts. See PR #1949.

    • /register now recognizes /c [path] and creates an appropriate Cmder Here shell context menu. See PR #1949.

    Source code(tar.gz)
    Source code(zip)
    cmder.7z(57.16 MB)
    cmder.zip(107.80 MB)
    cmder_mini.zip(8.45 MB)
    hashes.txt(232 bytes)
  • v1.3.8(Nov 10, 2018)

  • v1.3.7(Nov 10, 2018)

    v1.3.7 (2018-11-10)

    Full Changelog

    Highlights

    Tagging as v1.3.7

    Commits

    Aaron Arney (1):

    • Update README

    Arion Roberto Krause (1):

    • Fixed typo

    Benjamin Staneck (8):

    • :arrow_up: ConEmu to 180626
    • :arrow_up: Update Git to 2.19.0
    • Revert "replace user-aliases with user_aliases"
    • replace user-aliases with user_aliases
    • better fix for #1265
    • Revert "sanitize dir before assigning to prompt"
    • sanitize dir before assigning to prompt
    • Update CHANGELOG.md

    Bob Hood (1):

    • Refactored the Mercurial prompt code to be more efficient.

    David Refoua (1):

    • fix some spelling issues

    Dax T Games (8):

    • Revert "Ignore %cmder_root%\config (#1945)"
    • Ignore %cmder_root%\config (#1945)
    • Add /f for fast init. (#1942)
    • add diag helper scripts and adds to the path (#1918)
    • Fix #1806 #1675 (#1870)
    • Profile.ps1 (#1796)
    • Fix lib base (#1794)
    • Little Changes

    Dax T. Games (42):

    • Fixed move of default conemu.xml to the vendor folder
    • cleanup
    • ignore all of config folder
    • move default comemu.xml to vendor folder
    • fixes
    • more headers
    • init.bat update for cexec
    • git prompt yellow
    • cleanup
    • fix user lua and git detection
    • allow conditionally setting environment variables
    • cleanup
    • readme.md
    • readme.md
    • readme.md
    • added exit codes
    • flag_exists.cmd to flag_exec.cmd, also to lib as an option
    • cleanup
    • cleanup
    • fixed
    • handle start dir args with trailing "
    • cleanup
    • '.gitignore'
    • cleanup
    • '.gitignore'
    • cleanup
    • cleanup
    • verbos output
    • cmder_shell settings
    • add cmder_shell method
    • replace - with _ in debug-output and verbose-output
    • trying to get tcc working
    • Trying to get tcc working
    • rename
    • modify message
    • move user-aliases.cmd to user_aliases.cmd
    • gitignore
    • move bin\alias.bat to vendor\bin\alias.cmd
    • cleanup
    • run user lua afer cmder lua
    • fix /unregister
    • load user clink

    Dmitri S. Guskov (2):

    • Powershell 5.1 compatibility
    • Update profile.ps1

    Gregory Lucas (1):

    • Initialize time_init to fix init error message

    Josef Pihrt (2):

    • Fix typos, remove escaping inside inline code, replace single quote with backtick
    • Fix typo and broken link

    Merlin (1):

    • Remove duplicate Install-Module detection

    Nicolas Arnaud-Cormos (1):

    • Ensure the right git path is found in case of shim.

    Thorsten Sommer (1):

    • Fixed spelling

    gaoslin (1):

    • Update init.bat

    leochien0102 (1):

    • fix the 'was unexpected at this time.'

    xiazeyu (4):

    • chore: unite slash
    • docs: update to latest useage
    • refactor: reduce global varible useage, fixed quote issue, added parameters support
    • doc: fix typo

    xiazeyu_2011 (8):

    • docs: migrated instructions to the wiki pages
    • rename /bin/have.bat to /vendor/lib/flag_exists.cmd
    • fix: bug when no argument is passed in
    • docs: update doc for have.bat
    • feat: add have.bat as a wrapper
    • Optimize comments of using arguments in user-profile.cmd
    • fix conflict with init.bat build-in command parser, update user-profile.cmd
    • Pass arguments to user-profile.cmd

    刘祺 (1):

    • add LANG support
    Source code(tar.gz)
    Source code(zip)
    cmder.7z(57.16 MB)
    cmder.zip(107.80 MB)
    cmder_mini.zip(8.45 MB)
    hashes.txt(232 bytes)
  • v1.3.6(May 29, 2018)

  • v1.3.5(Feb 11, 2018)

    Change Log

    v1.3.5 (2018-02-11)

    Full Changelog

    This is the first Cmder release that comes with Git for Windows in the 64bit version. If you are still using a 32bit version, you have to fix this yourself.

    Git updated to v2.16.1.windows.4 clink updated to 0.4.9 (official version) ConEmu updated to 180206

    Source code(tar.gz)
    Source code(zip)
    cmder.7z(51.94 MB)
    cmder.zip(100.41 MB)
    cmder_mini.zip(8.22 MB)
    hashes.txt(232 bytes)
  • v1.3.4(Nov 3, 2017)

    Change Log

    1.3.4 (2017-11-03)

    We now use a forked version of clink since it's original author is missing and we needed Windows 10 compat.

    Updated components:

    • Git: v2.15.0.windows.1

    Fixed bugs:

    • Fix lamda color after a ConEmu change: https://github.com/cmderdev/cmder/commit/a8d32611a9b93cfb58f0318ae4b8041bc8a86c68
    • Compatible with Visual Studio Code (PowerShell): https://github.com/cmderdev/cmder/pull/1417
    • Make default tasks respect "Startup directory for new process": https://github.com/cmderdev/cmder/commit/b58ff9bb539d7f908f427fa34f377e1513fcd825
    Source code(tar.gz)
    Source code(zip)
    cmder.7z(51.26 MB)
    cmder.zip(98.28 MB)
    cmder_mini.zip(7.80 MB)
    hashes.txt(232 bytes)
  • v1.3.3(Oct 28, 2017)

  • v1.3.2(Dec 1, 2016)

    Change Log

    1.3.2 (2016-12-01)

    Updated components:

    • Git: v2.11.0.windows.1
    • ConEmu: 161022
    • Clink: 0.4.8
    • Clink-Completions: 0.3.2

    Fixed bugs:

    • Git process not ending. #1060
    • Git: fatal: Unable to create '.git/index.lock': File exists. #1044
    • Aliases with environment variables not working #684
    • msysgit is not injected into path. #493
    • cmder display error #491
    • Path issues on startup #487
    • Missing DLL: MSVCP140.dll #482
    • Single mode does not set current directory #420
    • Fails to parse path in PATH system variable with '&' #185
    • Cmder hangs after idling for a few minutes or when clicking above the cursor #109
    • No color scheme in tabs opened as Administrator #94
    • Bug in alias.bat #52
    • Clicking/selecting text on terminal causes slowdown #40

    * This Change Log was automatically generated by github_changelog_generator

    Source code(tar.gz)
    Source code(zip)
    cmder.7z(41.96 MB)
    cmder.zip(84.77 MB)
    cmder_mini.zip(5.67 MB)
    hashes.txt(102 bytes)
  • v1.3.1(Dec 2, 2016)

Owner
cmder
cmder
A Dart package to send native 💬 toasts on Windows. Based on WinToast.

desktoasts A Dart package to send native ?? toasts on Windows. Installation For Flutter dependencies: ... desktoasts: ^0.0.2 For Dart CLI here Sup

Hitesh Kumar Saini 37 Mar 7, 2022
A npm package that lets you automate your windows desktop.

js-macro A npm package that lets you automate your windows desktop. npm i js-macro Examples Simple cursor usage const { cursor } = require("js-macro"

5 Jul 30, 2022
A npm package that lets you automate your windows desktop.

js-macro A npm package that lets you automate your windows desktop. npm i js-macro Examples Simple cursor usage const { cursor } = require("js-macro"

5 Jul 30, 2022
Detours is a software package for monitoring and instrumenting API calls on Windows.

Detours is a software package for monitoring and instrumenting API calls on Windows. It is distributed in source code form.

Microsoft 3.7k Sep 30, 2022
Sega Master System / Game Gear / SG-1000 emulator for iOS, macOS, Raspberry Pi, Windows, Linux, BSD and RetroArch.

Gearsystem is a very accurate, cross-platform Sega Master System / Game Gear / SG-1000 emulator written in C++ that runs on Windows, macOS, Linux, BSD, iOS, Raspberry Pi and RetroArch.

Ignacio Sanchez Gines 172 Sep 20, 2022
un programma in console scritto in c++ che fa parodia a ordissimo OS // a program written in c++ that is a parody of ordissimo OS

un programma in console scritto in c++ che fa parodia a ordissimo OS // a program written in c++ that is a parody of ordissimo OS -what is this? -its

alex 5 Oct 31, 2021
the ares multi-system console emulation suite

ares ares is a multi-system emulator that began development on October 14th, 2004. It is a descendent of higan and bsnes, and focuses on accuracy and

higan 347 Oct 2, 2022
A console application using CPP that manages the guest details and check in and quarantine period of individual

A console application using CPP that manages the guest details and check in and quarantine period of individual(14 days). Efficient searching of guest, sorting and availability of room details can be found using the applications.

KAZI SAHARIAR RAHI 2 Nov 24, 2021
Play video by fonts in a console window by composing characters

FontVideo Play video by fonts in a console window by composing characters. Using FFmpeg API to decode the input file, then the video stream is rendere

0xaa55 9 Jul 16, 2022
A simple console client for pCloud cloud storage.

pCloud Console Client A simple console client for pCloud cloud storage. Project Information pCloud Console Client was forked from the project initiall

Serghei Iakovlev 23 Sep 9, 2022
Convenient, high-performance RGB color and position control for console output

Oof (omnipotent output friend) It's common for C++ programs to write output to the console. But consoles are far more capable than what they are usual

Sebastian Werhausen 756 Sep 30, 2022
the ares multi-system console emulation suite

ares is a multi-system emulator that began development on October 14th, 2004. It is a descendent of higan and bsnes, and focuses on accuracy and prese

ares 341 Sep 26, 2022
Simple c++ library for work with console colors.

LCCS - Linux Console Control Sequences Simple c++ library for work with console colors. Example program color::SetColor(1,color::BLUE); cout << "ABOBA

Artem Vanty 1 Dec 23, 2021
Polybox - Late ninties, PS1 inspired fantasy console

Polybox Polybox is an in-development PS1 era fantasy console, a bit like Pico-8, but with simple 3D as well as 2D. It's still rather primitive and ear

David Colson 309 Oct 1, 2022
Console game in which you are required to say the color of the word, not what the word says.

ENG УКР (ENG)Stroop - Train reaction and play at one time Desctiption Stroop - is a console game in which the user has to say color of the word, not t

Yura Shymon 2 Sep 22, 2022
General repository for all code (games, BIOS, etc) that runs within the Vircon32 console itself

Vircon32: Console software This is a general repository containing all Vircon32 sources for any software running on the console itself. This includes:

Vircon32 16 Sep 22, 2022
It is a C / C++ console based project made by team: return 0.

LU Student Assistant In the latest version release v1.02, we add time and date in our system. It is a C / C++ project made by team: return 0. It is ve

Shah Sayem Ahmad 1 Feb 1, 2022
Graphs a line in console using OOP methodologies

PointSlope This program graphs a line in console using OOP methodologies. Custom openGl libraries were provided for this class project and we used mut

Austin M Hood 1 Feb 1, 2022
General repository for all software (emulators, dev tools, etc) related to Vircon32 but not running on console itself

Vircon32: Computer software This is a general repository containing source code related to Vircon32 implementation, this is, software that does NOT ru

Vircon32 10 Sep 22, 2022