CMDER est un progiciel créé à partir de pure frustration par rapport à l'absence d'émulateur de console utilisable sur Windows. Il est basé sur CONEMU avec une refonte de configuration majeure , est livré avec un jeu de couleurs Monokai, un clink incroyable (encore amélioré par les complétions de clink) et une disposition d'invite personnalisée.
Le principal avantage du CMDER est la portabilité. Il est conçu pour être totalement autonome sans dépendances externes, ce qui le rend idéal pour les bâtons USB ou le stockage cloud . Ainsi, vous pouvez transporter votre console, vos alias et vos binaires (comme wget , curl et git ) avec vous n'importe où.
L'interface utilisateur du CMDER est également conçue pour être plus agréable aux yeux, et vous pouvez comparer les principales différences entre CMDER et CONEMU ici.
C:Program Files ou ailleurs qui nécessiteraient un accès administrateur pour modifier les fichiers de configuration%cmder_root%bin à injecter dans votre chemin.Cmder.exe%cmder_root%bin . Voir: bin / readme.md/max_depth [1-5] dans les arguments de la ligne de commande pour init.bat 'Table pour ajouter des sous-répertoires récursivement.%cmder_root%opt . Voir: opt / readme.mdCmder.exe avec /C . Exemple: cmder.exe /C %userprofile%cmder_configCela créera la structure du répertoire suivant en cas de manque.
c:users[username]cmder_config
├───bin
├───config
│ └───profile.d
└───opt
%userprofile%cmder_configbin ./max_depth [1-5] dans les arguments de la ligne de commande pour init.bat 'Table pour ajouter des sous-répertoires récursivement.%user_profile%cmder_configopt .| Argument | Description |
|---|---|
/C [user_root_path] | Dossier racine CMDER individuel. Exemple: %userprofile%cmder_config |
/M | Utilisez conemu-%computername%.xml pour le stockage des paramètres CONEMU au lieu de user_conemu.xml |
/REGISTER [ALL, USER] | Enregistrez un raccourci du menu Shell Windows. |
/UNREGISTER [ALL, USER] | Décorez un raccourci du menu Shell Windows. |
/SINGLE | Démarrez CMDER en mode unique. |
/START [start_path] | Chemin de dossier pour commencer. |
/TASK [task_name] | Tâche pour commencer après le lancement. |
/X [ConEmu extras pars] | Transmet les paramètres à conemu |
Vous avez donc un peu expérimenté avec CMDER et que vous vouliez vous donner une chance dans une maison plus permanente;
.cmder.exe /REGISTER ALL si vous obtenez un message "Accès refusé", assurez-vous d'exécuter la commande dans une invite administratrice .Dans une fenêtre d'explorateur de fichiers, cliquez avec le bouton droit dans ou sur un répertoire pour voir "CMder ici" dans le menu contextuel.
(Certains raccourcis ne sont pas encore documentés, bien qu'ils existent - veuillez les documenter ici)
Vous pouvez ouvrir plusieurs onglets contenant chacun l'un des obus suivants:
| Tâche | Coquille | Description |
|---|---|---|
| Cmder | cmd.exe | Windows cmd.exe Shell amélioré avec Git, Git Aware Invite, Clink (GNU Readline) et Aliases. |
| CMder comme administrateur | cmd.exe | Windows administratifs cmd.exe shell cmder. |
| Powershell | powershell.exe | Windows PowerShell amélioré avec l'invite de rendement GIT et GIT. |
| PowerShell en tant qu'administrateur | powershell.exe | Windows administratif powershell.exe CMDER Shell. |
| Frapper | bash.exe | Unix / Linux comme Bash Shell fonctionnant sur Windows. |
| Bash en tant qu'administrateur | bash.exe | Administrative Unix / Linux comme Bash Shell fonctionnant sur Windows. |
| Piraté | bash.exe | Unix / Linux comme Bash Shell fonctionnant sur Windows. Voir ci-dessous pour les différences de configuration de Mintty |
| Minty en tant qu'administrateur | bash.exe | Administrative Unix / Linux comme Bash Shell fonctionnant sur Windows. Voir ci-dessous pour les différences de configuration de Mintty |
Les onglets CMDER, PowerShell et Bash s'exécutent tous sur l'API de la console Windows et fonctionnent comme vous pouvez vous y attendre dans CMDER avec accès à l'utilisation des schémas de couleurs de Conemu, des liaisons clés et d'autres paramètres définis dans la boîte de dialogue CONEMU Paramètres.
Remarque: seule l'édition complète de CMDER est livrée avec un bash préinstallé, en utilisant une installation git-for-windows vendue. Les onglets de bash préconfigurés peuvent ne pas fonctionner sur CMDER Mini Edition sans configuration supplémentaire.
Vous pouvez cependant choisir d'utiliser une installation externe de bash, comme le sous-système de Microsoft pour Linux (appelé WSL) ou le projet Cygwin qui fournit une prise en charge POSIX sur Windows.
Remarque: Les onglets Mintty utilisent un programme appelé «Mintty» comme émulateur de terminal qui n'est pas basé sur l'API de la console Windows, mais plutôt rendu graphiquement par CONEMU. Mintty diffère des autres onglets en ce qu'il prend en charge les types de terme xterm / xterm-256color, et ne fonctionne pas avec les paramètres CONEMU comme les schémas de couleurs et les liaisons clés. En tant que tels, certaines différences de fonctionnalité sont à prévoir, telles que CMder ne pouvant pas y appliquer une configuration à l'échelle du système.
En conséquence, la configuration spécifique à Mintty est effectuée via le fichier [%USERPROFILE%|$HOME]/.minttyrc . Vous pouvez en savoir plus sur Mintty et son fichier de configuration ici.
Un exemple de définition des couleurs de borne portable CMDER pour Mintty:
À partir d'une coque bash / minty:
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
Vous pouvez trouver des schémas de couleurs Monokai pour Mintty pour correspondre à CMDER ici.
cmd.exe par défaut CMDER CMDER L'invite par défaut de shell cmder cmd::Cmder est personnalisée à l'aide Clink et est configurée en modifiant un fichier de configuration qui existe dans l'un des deux emplacements:
%CMDER_ROOT%configcmder_prompt_config.lua%CMDER_USER_CONFIG%cmder_prompt_config.lua Si votre configuration CMDER n'a pas ce fichier, créez-le à partir de %CMDER_ROOT%vendorcmder_prompt_config.lua.default
Les personnalisations incluent:
[user]@[host] au début de l'invite.~ pour le répertoire de la maison.λLa documentation est dans le fichier pour chaque paramètre.
cmd.exe1. {cmd::Cmder as Admin}2. {cmd::Cmder}Remarque: faites attention aux devis!
cmd /s /k ""%ConEmuDir%..init.bat" [ADD ARGS HERE]"
init.bat| Argument | Description | Défaut |
|---|---|---|
/c [user cmder root] | Permet les dossiers de bacs et de configuration des utilisateurs pour les sessions «CMDER en tant qu'administrateur en raison d'un environnement non partagé. | pas réglé |
/d | Permet la sortie de débogage. | pas réglé |
/f | Permet le mode d'initiation rapide CMDER. Cela désactive certaines fonctionnalités, voir la demande Pull # 1492 pour plus de détails. | pas réglé |
/t | Permet le mode init chronométré de CMDER. Cela affiche les scripts init de temps pris en temps | pas réglé |
/git_install_root [file path] | Path de racine d'installation GIT spécifiée par l'utilisateur. | %CMDER_ROOT%vendorGit-for-Windows |
/home [home folder] | Path de dossier spécifié par l'utilisateur pour définir %HOME% Environment Variable. | %userprofile% |
/max_depth [1-5] | Définissez la profondeur de réinscription max lors de l'ajout du chemin pour %cmder_root%bin et %cmder_user_bin% | 1 |
/nix_tools [0-2] | Définissez comment *nix Tools est ajouté au chemin. Préférer les outils Windows: 1, préférez * Nix Tools: 2, no /usr/bin in %PATH% : 0 | 1 |
/svn_ssh [path to ssh.exe] | Définissez %SVN_SSH% afin que nous puissions utiliser GIT SVN avec les référentiels SSH SVN. | %GIT_INSTALL_ROOT%binssh.exe |
/user_aliases [file path] | Chemin de fichier pointant vers les alias utilisateur. | %CMDER_ROOT%configuser_aliases.cmd |
/v | Permet la sortie verbale. | pas réglé |
| (Arguments personnalisés) | Arguments définis par l'utilisateur traités par cexec . Tapez cexec /? Pour plus d'utilisation. | pas réglé |
La configuration portable utilisateur unique est possible à l'aide des fichiers de configuration de shell spécifiques de CMDER. Modifiez les fichiers ci-dessous pour ajouter votre propre configuration:
| Coquille | CMDER Configation utilisateur portable |
|---|---|
| Cmder | %CMDER_ROOT%configuser_profile.cmd |
| Powershell | $ENV:CMDER_ROOTconfiguser_profile.ps1 |
| Bash / mint | $CMDER_ROOT/config/user_profile.sh |
Remarque: Bash et Mintty Sessions s'approvisionneront également le fichier $HOME/.bashrc s'il existe après qu'il s'approvisionne $CMDER_ROOT/config/user_profile.sh .
Vous pouvez écrire *.cmd|*.bat , *.ps1 et *.sh scripts et simplement les déposer dans le dossier %CMDER_ROOT%configprofile.d pour ajouter la configuration de démarrage à cmder.
| Coquille | CMDER Profile.d Scripts |
|---|---|
| Cmder | %CMDER_ROOT%configprofile.d*.bat and *.cmd |
| Powershell | $ENV:CMDER_ROOTconfigprofile.d*.ps1 |
| Bash / mint | $CMDER_ROOT/config/profile.d/*.sh |
Pour désactiver le statut GIT de l'invite CMDER, ajoutez ce qui suit à ~/.gitconfig ou localement pour un seul repo [repo]/.git/config et démarrez une nouvelle session.
Remarque: cette configuration n'est pas 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.
Cmd.exe ) alias Vous pouvez définir des alias simples pour les sessions cmd.exe avec une commande comme alias name=command . Les alias Cmd.exe prennent en charge les paramètres facultatifs via le $1-9 ou les caractères spéciaux $* afin que l'alias vi=vim.exe $* soit typé comme vi [filename] ouvrira [filename] dans vim.exe .
Les alias CMD.exe peuvent également être plus complexes. Voir: Dooskey.exe Documentation pour des détails supplémentaires sur les alias / macros complexes pour cmd.exe
Les alias définis à l'aide de la commande alias.bat seront automatiquement enregistrés dans le fichier %CMDER_ROOT%configuser_aliases.cmd
Pour faire un alias et / ou tout autre paramètre de profil permanent, ajoutez-le à l'un des éléments suivants:
Remarque: Ceux-ci sont chargés dans cette commande par $CMDER_ROOT/vendor/init.bat . Tout ce qui est stocké dans %CMDER_ROOT% sera un paramètre portable et suivra CMder vers une autre machine.
%CMDER_ROOT%configprofile.d*.cmd et *.bat%CMDER_ROOT%configuser_aliases.cmd%CMDER_ROOT%configuser_profile.cmd Les coquilles de bash prennent en charge les alias simples et complexes avec des paramètres facultatifs nativement afin qu'ils fonctionnent un peu différents. Typing alias name=command créera un alias uniquement pour la session en cours d'exécution actuelle.
Pour faire un alias et / ou tout autre paramètre de profil permanent, ajoutez-le à l'un des éléments suivants:
Remarque: Ceux-ci sont chargés dans cet ordre par $CMDER_ROOT/vendor/git-for-windows/etc/profile.d/cmder.sh . Tout ce qui est stocké dans $CMDER_ROOT sera un paramètre portable et suivra CMder vers une autre machine.
$CMDER_ROOT/config/profile.d/*.sh$CMDER_ROOT/config/user_profile.sh$HOME/.bashrc Si vous ajoutez des alias bash à $CMDER_ROOT/config/user_profile.sh ils seront portables et suivez votre dossier cmder si vous le copiez dans une autre machine. $HOME/.bashrc défini les alias ne sont pas portables.
PowerShell a un support d'alias simple natif, par exemple [new-alias | set-alias] alias command , donc les alias complexes avec des paramètres facultatifs ne sont pas pris en charge dans les sessions PowerShell. Type get-help [new-alias|set-alias] -full pour l'aide sur les alias PowerShell.
Pour faire un alias et / ou tout autre paramètre de profil permanent, ajoutez-le à l'un des éléments suivants:
Remarque: Ceux-ci sont chargés dans cet ordre par $ENV:CMDER_ROOTvendoruser_profile.ps1 . Tout ce qui est stocké dans $ENV:CMDER_ROOT sera un paramètre portable et suivra CMder vers une autre machine.
$ENV:CMDER_ROOTconfigprofile.d*.ps1$ENV:CMDER_ROOTconfiguser_profile.ps1 Pour démarrer l'agent SSH vendu, appelez simplement start-ssh-agent , qui se trouve dans le dossier vendor/git-for-windows/cmd .
Si vous souhaitez exécuter l'agent SSH au démarrage, incluez la ligne @call "%GIT_INSTALL_ROOT%/cmd/start-ssh-agent.cmd" dans %CMDER_ROOT%/config/user_profile.cmd (généralement tout simplement l'intermôler).
CMDER est par défaut expédié avec une installation GIT vendue. Sur chaque instance du lancement de CMDER, une tentative est faite pour localiser tout autre binaire GIT fourni par l'utilisateur. Lors de la recherche d'un binaire git.exe , CMder compare en outre sa version à celle vendue en l'exécutant . Le binaire git.exe vendu n'est utilisé que lorsqu'il est plus récent que celui-ci-installé par l'utilisateur.
Vous pouvez utiliser votre version préférée de Git en incluant son chemin dans la variable de l'environnement %PATH% . De plus, la mini édition de CMder (trouvée sur la page de téléchargements) exclut tous les binaires Git vendus.
Vous pouvez exécuter Bash (le shell par défaut utilisé sur Linux, MacOS et GNU / Hurd) à l'extérieur sur CMDER, en utilisant les instructions suivantes:
+ pour ajouter une tâche.cmd /c "[path_to_external_env]binbash --login -i" -new_console à la zone de texte Commands .Étapes facultatives recommandées:
Copiez le fichier vendor/cmder_exinit dans le dossier cygwin / babun, msys2 ou git for windows sdk environnements /etc/profile.d/ pour utiliser les paramètres portables dans le dossier $CMDER_ROOT/config .
Remarque: Mingw pourrait fonctionner si les scripts init incluent profile.d mais cela n'a pas été testé.
L'extension de fichier de destination dépend du shell que vous utilisez dans cet environnement. Par exemple:
/etc/profile.d/cmder_exinit.sh/etc/profile.d/cmder_exinit.zshDécommente et modifiez la ligne ci-dessous dans le script pour utiliser la configuration CMDER même lorsqu'elle est lancée à partir de l'extérieur CMDER.
# CMDER_ROOT=${USERPROFILE}/cmder # This is not required if launched from Cmder.
init.bat . Vous pouvez transmettre des arguments personnalisés à init.bat et utiliser cexec.cmd dans votre user_profile.cmd pour évaluer ces arguments, puis exécuter des commandes en fonction d'un drapeau particulier détecté ou non.
init.bat crée deux raccourcis pour l'utilisation cexec.cmd dans vos scripts de profil.
%ccall% - Évalue les drapeaux, exécute les commandes si elle est trouvée, et revient au script d'appel et continue. ccall=call C:Usersusercmderdevvendorbincexec.cmd
Exemple: %ccall% /startnotepad start notepad.exe
%cexec% - Évalue les drapeaux, exécute les commandes si elle est trouvée, et ne revient pas au script d'appel. cexec=C:Usersusercmderdevvendorbincexec.cmd
Exemple: %cexec% /startnotepad start notepad.exe
Il est utile lorsque vous avez plusieurs tâches pour exécuter cmder et en avez besoin pour initialiser la session différemment en fonction de la tâche choisie.
Pour démarrer conditionnellement notepad.exe lorsque vous démarrez une tâche cmder spécifique:
Appuyez sur Win + Alt + T
Cliquez sur + pour ajouter une nouvelle tâche.
Ajoutez ce qui précède au bloc Commands :
cmd.exe /k " " %ConEmuDir% ..init.bat " /startnotepad "
Ajoutez ce qui précède à votre %cmder_root%configuser_profile.cmd
%ccall% " /startNotepad " " start " " notepad.exe " `
Pour voir une utilisation détaillée de cexec , Type cexec /? en cmder.
CMDER par défaut est livré avec une installation CONEMU vendue comme l'émulateur de terminal sous-jacent, comme indiqué ici.
Cependant, CMDER peut en fait fonctionner dans une variété d'autres émulateurs terminaux et même des IDE intégrés. En supposant que vous avez la dernière version de CMDER, suivez les instructions suivantes pour faire travailler CMDER avec votre propre émulateur de terminal.
Pour des instructions sur la façon d'intégrer CMDER avec votre IDE, veuillez lire notre section Wiki.
Le processus de mise à niveau du CMDER dépend de la version / build que vous exécutez actuellement.
Si vous avez un [cmder_root]/config/user[-|_]conemu.xml , vous exécutez une version plus récente de CMder, suivez le processus ci-dessous:
Quittez toutes les sessions cmder et relancez [cmder_root]/cmder.exe , cela sauvegarde votre [cmder_root]/vendor/conemu-maximus5/conemu.xml à [cmder_root]/config/user[-|_]conemu.xml .
[cmder_root]/config/user[-|_]conemu.xml contient tous les paramètres personnalisés que vous avez créés à l'aide de la boîte de dialogue des paramètres «Configuration des tâches». Quittez toutes les sessions CMder et sauvegardez tous les fichiers que vous avez modifiés manuellement sous [cmder_root]/vendor .
[cmder_root]/vendor n'est pas recommandée car vous devrez réappliquer ces modifications après une mise à niveau. Toutes les personnalisations des utilisateurs doivent être consacrées au dossier [cmder_root]/config . Supprimez le dossier [cmder_root]/vendor .
Extraire le nouveau cmder.zip ou cmder_mini.zip dans [cmder_root]/ écraser tous les fichiers lorsque vous y êtes invité.
Si vous n'avez pas de [cmder_root]/config/user[-|_]conemu.xml , vous exécutez une ancienne version de CMder, suivez le processus ci-dessous:
Quittez toutes les sessions CMder et Backup [cmder_root]/vendor/conemu-maximus5/conemu.xml à [cmder_root]/config/user[-|_]conemu.xml .
Sauvegardez tous les fichiers que vous avez modifiés manuellement sous [cmder_root]/vendor .
[cmder_root]/vendor n'est pas recommandée car vous devrez réappliquer ces modifications après une mise à niveau. Toutes les personnalisations des utilisateurs doivent être consacrées au dossier [cmder_root]/config . Supprimez le dossier [cmder_root]/vendor .
Extraire le nouveau cmder.zip ou cmder_mini.zip dans [cmder_root]/ écraser tous les fichiers lorsque vous y êtes invité.
Vous pouvez télécharger des builds de la succursale de développement actuelle en allant chez AppVeyor via le lien suivant:
Les dernières actions de téléchargement par GitHub peuvent être téléchargées à partir du lien ci-dessous:
Tous les logiciels inclus sont regroupés avec propre licence
La licence du MIT (MIT)
Copyright (C) 2016 Samuel Vasko
L'autorisation est accordée gratuitement à toute personne qui obtient une copie de ce logiciel et des fichiers de documentation associés (le "logiciel"), pour traiter le logiciel sans restriction, y compris sans limiter les droits d'utilisation, de copie, de modification, de fusion, de publication, de distribution, de sublince et / ou de vendre des copies des conditions suivantes.
L'avis de droit d'auteur ci-dessus et le présent avis d'autorisation sont inclus dans toutes les copies ou des parties substantielles du logiciel.
Le logiciel est fourni "tel quel", sans garantie d'aucune sorte, express ou implicite, y compris, mais sans s'y limiter, les garanties de qualité marchande, d'adéquation à un usage particulier et de non-contrefaçon. En aucun cas, les auteurs ou les titulaires de droits d'auteur ne seront pas responsables de toute réclamation, dommage ou autre responsabilité, que ce soit dans une action de contrat, de délit ou autre, découlant de, ou en relation avec le logiciel ou l'utilisation ou d'autres transactions dans le logiciel.