Coder Social home page Coder Social logo

cmderdev / cmder Goto Github PK

View Code? Open in Web Editor NEW
25.6K 575.0 2.0K 3.03 MB

Lovely console emulator package for Windows

Home Page: https://cmder.app

License: MIT License

C++ 48.84% PowerShell 48.62% Batchfile 1.49% C 1.05%
cmder powershell c-plus-plus portable conemu color-scheme mintty ssh-agent command-line shell windows

cmder's Introduction

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

  • 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 prompt 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 usage. 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% environment 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 line below 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 Windows Terminal, 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

The latest download builds by GitHub Actions can be downloaded from the link below:

Build Status

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.

cmder's People

Contributors

austinwagner avatar b0bh00d avatar bilenkonito avatar chrisant996 avatar codyray avatar daxgames avatar dependabot[bot] avatar drsdavidsoft avatar floschwalm avatar ftoh avatar github-actions[bot] avatar glucas avatar goodusername123 avatar gucong3000 avatar ian-craig avatar jackbennett avatar jankatins avatar kohenkatz avatar leocolomb avatar lunchb0ne avatar martiuk avatar melku avatar mikaz-fr avatar narnaud avatar pireax avatar samvasko avatar sicil1ano avatar stanzilla avatar vladimir-kotikov avatar xiazeyu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cmder's Issues

cmder doesn't work with gvim

When I run gvim on cmder with {cmd} it doesn't get my _vimrc file located at c:\home and added to the home environmental variable.

When i run it with {powershel} it works ok or with the windows cmd.

Cmder ssh keys for github

Cmder does not seem to see my ssh keys? I keep getting Permission denied (publickey) even though I have the github_rsa file in the .ssh folder

Many thanks.

init.bat failing on Vista x64

Hi.

Nice work on cmdr btw - finally something I can use on my thumbdrive!

I found however that the vendor\init.bat was not working on my Vista x64 setup. I tracked down the problem to something in the section which sets the prompt style. Removing this section resulted in it working as expected.

Strangely, if I run each command from init.bat directly in the cmdr console it works as expected, with the lambda and all.

Just thought I'd let you know.

Path not set correctly on Windows XP

On Windows XP, PATH does include only the following two subdirectories, and not the additional bin, msysgit and clink subdirectories.

C:\prog\cmder\vendor\conemu-maximus5\ConEmu
C:\prog\cmder\vendor\conemu-maximus5

Not even manually executing the init.bat makes available the additional path.

Clicking/selecting text on terminal causes slowdown

I'm seeing weird behavior when clicking on the terminal window (not the chrome) and trying to select text. Cmder appears to slow down significantly, preventing me from inputting text for several seconds. Because of this it seems I can't select any text. I'm on Windows 7 SP1, 32-bit.

creating alias cause gvim context menu item malfunctioning

When I create an alias, the explorer context menu item of gvim becomes unusable.
When click the "Edit with gvim" item, an error dialog shows up:
qq20131205234936
I'm sure that gvim is in my PATH. I need to uninstall gvim, reboot my computer and reinstall gvim again to get it to work.
Thanks if you guys could have a look.

Gvim preferences are not used in {cmd}

When I launch Gvim from Cmder using the {cmd} task, it doesn't use the preferences defined in %userprofile%/_vimrc% and %userprofile%/vimfiles. When I launch Gvim using the {Powershell} task, it behaves as expected. In an unmodified ConEmu installation, both cmd and Powershell launch Gvim with preferences intact.

bin directories not loaded in path

First time using cmder. It looks really nice by the way.

Am I understanding correctly that when I run cmder.bat it will use vendor/init.bat to load the main bin and msysgit bin directories into the system path? If so, it's not working.

Neither ls or alias are recognized. I'm on a windows xp machine at the moment if that's the problem.

Git branch name

Is it possible to see the Git branch name on the folder when in a git project?

tab manipulation problem

CTRL + ALT + X

Wasnt a good choice :/

ctrl+alt+2 = @
ctrl+alt+3 = £
etc etc

i cant right an email address in cmder, need to copy/paste from somewhere else .

Not possible to write @ on Norwegian keyboard

I have to press Alt Gr + 2 to insert a @ sign in the terminal, but it just opens a new powershell tab.

Is it possible to work around this while still having the ctrl-alt-2 key binding? Maybe specify LAlt?

Set a name for the Tab on a task

Is there a way to open a tab and have if use a default Tab Name rather than having to rename the tab each time? eg when creating a tab using a task is it possible to set the name of the tab ?

Open new tab as Admin by default.

I've been looking for a way to set the default tab, or new tab to open as admin by default. I need to run PS as admin on my system due to some custom PS scripts I have, but I can't seem to find a way to accomplish this.

Path ordering issue - wrong find.exe executes by default

When I try running find, the find.exe from Windows\System32 is executed by default as the msysgit directories are only appended to the end of the path.

In other words, the "C:\Windows\System32" directory appears first in the path, whereas C:\cmder\vendor\msysgit\bin" appears later, towards the end. This means that when I try running the "find" command, I get the old (useless) Windows one, rather than the Unix version I was hoping for.

There are plenty of possible workarounds. In my case, I simply copied the Unix find.exe up to \cmder\vendor\conemu-maximus5\ConEmu, as the ConEmu directories are added to the beginning of the path.

Is there any way that you could add a config option so that the msysgit directory references can be added to the beginning of the path, rather than at the end?

alt gr + 2 opens new powershell

In my layout alt gr + 2 emits @. Cmder opens new powershell tab. Probably default keyboard configuration should use lalt instead of alt.

"terminal is not fully functional"

Hello,

I'm a relatively new user and I'm pretty much satisfied.
But I keep getting some of this Warning "terminal is not fully functional".

It happen for some git command (as far I know but maybe more) like "git diff".
The behavior is actually not so bugged but I can use my arrow key to navigate, juste space bar.

I wonder if it's a work in progress or a choice by the developpers.

:)

Git hosts defined in .ssh/config not working in cmder

I have some git hosts defined in /.ssh/config

Git operations in cmder does not seem to recognize these. For example, a push on a repository for which the host is defined in this config file is not working:

ssh: gitoffice: no address associated with name          
fatal: Could not read from remote repository.            

Please make sure you have the correct access rights      
and the repository exists.                               

Is there any way to get around this?

Unable to `cd` to another drive

I seem to be having some issues navigating to different drives. I keep C: for windows and keep all of my files on a second drive (D:)

If I attempt to navigate to D:\Dropbox\Work\Repos\ nothing happens, yet if I run ls D:\Dropbox\Work\Repos\ I am presented with the full contents of the folder.

Example:

C:\
λ cd D:\Dropbox\Work\Repos\

C:\
λ ls D:\Dropbox\Work\Repos\
!Misc              detail-admin-theme    dotfiles    ip-info            project-euler  runescape-feeds  simple-core-old  steam-api-old
Lua-intro          diablo-3-api          github-api  laravel-4-vagrant  recipies       sabstrap         simpleCMS        wardrobe
beingtomgreen.com  diablo-3-api-package  home        maths              runescape-api  simple-core      steam-api

C:\
λ cd D:\Dropbox\Work\Repos\maths

If I attempt to create a new tab with a startup location of D: I get:

The system cannot find the path specified.

D:\>ls
'ls' is not recognized as an internal or external command,
operable program or batch file.

And nothing seems to work, I assume this is at least partially related to #4.

In the mean time I have just modified the init.bat to initially cd into D:.

Setting cmder startup directory.

I'm trying to change the directory in which cmder starts up. To do this, I just added the following to the end of my init.bat file:

cd D:/work
d:

Its not very elegant but it works, and it prints some funny message as the first line of text:

image

Is there a better way to do this? Or at least get rid of the first line message?

vendor/init.bat fails on paths with spaces

the section that reads:

:: Add aliases
@doskey /macrofile=%rootDir%\config\aliases

needs quotes around the parameter to macrofile, eg:

:: Add aliases
@doskey /macrofile="%rootDir%\config\aliases"

otherwise you get an ugly message that reads (for example):

Invalid macro definition
File not found - C:\Program
Welcome to cmder!

worksonmymachine

ps doesn't work

Repro: ps aux
Expected: list of all process
Actual: just one process (ps itself)

Issue with SSH and tmux

When I SSH into my VPS and try to use tmux i get:
terminal open failed: missing or unsuitable terminal: msys

Any ideas on a fix? Note I'm only experiencing this with cmder.

How to use cmder with integration mode

Hi,

I'm trying to use the explorer context menu integration but I can't get it to load the cmder config, I tried to set "Configuration" option to the same as the batch file but it's still showing the first time launch window asking to select for a config location.

If I choose one of the locations available and then copy the cmder config/ settings at the same place, it looks like some configs are not properly applied.

Is there a clean way to use integration and Cmder config?

~ alias home directory

It would be nice to have ~ to complete to home directory, in a similar fashion as in (most) Linux terminals. For example cd ~, mv foo ~/bar/, etc.

Filenames with special characters e.g. ! are not handled correctly

Cmder has trouble handling filenames with special characters such as !. It doesn't make any difference if the name is quoted in single or double quotes.

e.g. both of the commands below would fail since !! gets expanded by the shell.

move "blah!!.mkv" "blah.mkv"
move 'blah!!.mkv' 'blah.mkv'

"C:\Users\bliker" reference in config/ConEmu.xml

FYI, the config/ConEmu.xml contains a reference to "C:\Users\bliker\Desktop\cmder\lib\ConEmu"

<value name="CmdLineHistory" type="multi"><line data=";C:\Users\bliker\Desktop\cmder\lib\ConEmu;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\"/></value>

Bug in alias.bat

If you type "alias" with no arguments it screws up your aliases file. Adding the following two lines to the top of the alias.bat file gives better behavior:
@echo off
if "%~1" == "" (doskey /macros:all & goto :EOF )

Weird output when starting cmder

Everytime I launch cmder it outputs the @prompt line from init.bat.

Example with the latest master:

C:\Users\jyggen\cmder>prompt $E[1;32;40m$P$S{git}$S$_$E[1;30;40mλ$S$E[0m
Welcome to cmder!

C:\Users\jyggen
?

Is this the expected behavior?

Crawling for executables in /bin

How do I get ruby running with this? I placed the ruby-1.9.3-p484 folder into /bin/

Am I missing something here. Also - how (where) do I put binaries so I can use them. Like GIT, etc?

Also - when I've dropped in Ruby, do I have to start every command with the ruby prefix, or can I step into ruby?

Here's what I done. Excuse the noobness.

...

cant change start directory

if i change the startup directory in the conemu settings the colors, hotkey etc stop working.
im changing the {cmd} task.

and if i hit CTRL+T and change the startup directory the same happens. It shows a msg "The system cannot find the path specified".

Clink completion does not work

For example, if I type git then hit tab twice, it completes file names instead of suggesting git commands.
I found out that commenting out @chcp 65001>nul in init.bat fixes it (however the lambda is not displayed correctly). Commenting out prompt also works.

Occassional freeze after getting focus back from restore

OS: Windows 8.1 (64 bit)
Cmder version: latest mini package

Cmder occasionally freezes after being restored from the minimized mode, or after getting the focus back. The cursor becomes a block (instead of the regular thin caret) and if the status bar at the bottom is enabled, the text label "25V" and "100V" keeps switching repeatedly. When frozen, no text can be input. Although a new tab can be opened and used as usual.

Include icon

There are some great icons in the repo, but it doesn't appear that they are included in the latest release. (This is mentioned briefly in #8.)

If you could change the icons for ConEmu.exe and ConEmu64.exe so that they use these icons, that would be fantastic. Thank you!

Chinese font display issue

Hi Bliker,

First, i want to say, the tool is awesome, thank you.

However, i got the display issue for Chinese font, please refer to the below image for more details.

1

below is the expected one.
2

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.