CMder ist ein Softwarepaket, das aus reiner Frustration über das Fehlen von Nutzungskonsolenemulator unter Windows erstellt wurde. Es basiert auf Conemu mit großer Konfigurationsüberholung, verfügt über ein Monokai-Farbschema, ein erstaunlicher Klink (weiter durch Klinkabflüsse) und ein benutzerdefiniertes Eingabeaufforderung.
Der Hauptvorteil von CMder ist die Portabilität. Es ist so konzipiert, dass es ohne externe Abhängigkeiten völlig in sich geschlossen ist, was es für USB-Sticks oder Cloud-Speicher hervorragend macht. So können Sie Ihre Konsole, Aliase und Binärdateien (wie wget , curl und git ) überall mitnehmen.
Die Benutzeroberfläche des CMder ist auch so ansprechender, und Sie können die Hauptunterschiede zwischen CMder und Conemu hier vergleichen.
C:Program Files oder irgendwo anders sein, um Administratorzugriff für die Änderung von Konfigurationsdateien erforderlich zu machen%cmder_root%bin -Ordner, der in Ihren Pfad injiziert werden soll.Cmder.exe aus%cmder_root%bin . Siehe: bin/readme.md/max_depth [1-5] in 'Befehlszeilenargumenten für die Tabelle init.bat ', um Unterverhandlungen rekursiv hinzuzufügen.%cmder_root%opt . Siehe: opt/readme.mdCmder.exe mit /C -Befehlszeilenargument aus. Beispiel: cmder.exe /C %userprofile%cmder_configDies erzeugt die folgende Verzeichnisstruktur, wenn sie fehlt.
c:users[username]cmder_config
├───bin
├───config
│ └───profile.d
└───opt
%userprofile%cmder_configbin ./max_depth [1-5] in 'Befehlszeilenargumenten für die Tabelle init.bat ', um Unterverhandlungen rekursiv hinzuzufügen.%user_profile%cmder_configopt .| Argument | Beschreibung |
|---|---|
/C [user_root_path] | Einzelner Benutzer -Cmder -Root -Ordner. Beispiel: %userprofile%cmder_config |
/M | Verwenden Sie conemu-%computername%.xml für Conemu-Einstellungen Speicher anstelle von user_conemu.xml |
/REGISTER [ALL, USER] | Registrieren Sie eine Windows -Shell -Menüverknüpfung. |
/UNREGISTER [ALL, USER] | Registrieren Sie eine Windows-Shell-Menüverknüpfung. |
/SINGLE | Starten Sie CMder im Einzelmodus. |
/START [start_path] | Ordnerpfad zu Beginn. |
/TASK [task_name] | Aufgabe, nach dem Start zu beginnen. |
/X [ConEmu extras pars] | Weiterleiten die Parameter an Conemu |
Sie haben also ein wenig mit Cmder experimentiert und möchten es in einem dauerhafteren Zuhause versuchen.
.cmder.exe /REGISTER ALL , wenn Sie eine "Zugriffs -Verweigerung" -Meldung erhalten, stellen Sie sicher, dass Sie den Befehl in einer Administratoraufforderung ausführen.Klicken Sie in einem Datei -Explorer -Fenster mit der rechten Maustaste oder in ein Verzeichnis, um "CMder hier" im Kontextmenü anzuzeigen.
(Einige Abkürzungen sind noch nicht dokumentiert, obwohl sie existieren - bitte dokumentieren Sie sie hier)
Sie können mehrere Registerkarten öffnen, die jeweils eine der folgenden Shells enthalten:
| Aufgabe | Hülse | Beschreibung |
|---|---|---|
| Cmder | cmd.exe | Windows cmd.exe Shell verbessert mit Git, Git Acuare -Eingabeaufforderung, Clink (GNU Readline) und Aliase. |
| Cmder als admin | cmd.exe | Administrative Windows cmd.exe Cmder Shell. |
| Powershell | powershell.exe | Windows PowerShell hat sich mit Git und Git AWSOR -Eingabeaufforderung verbessert. |
| PowerShell als Admin | powershell.exe | Administrative Windows powershell.exe Cmder Shell. |
| Verprügeln | bash.exe | UNIX/Linux Like Bash -Shell, das unter Windows ausgeführt wird. |
| As admin | bash.exe | Administrative Unix/Linux -Like -Bash -Shell, die unter Windows ausgeführt werden. |
| Minty | bash.exe | UNIX/Linux Like Bash -Shell, das unter Windows ausgeführt wird. Unten finden Sie Unterschiede für Mintty -Konfigurationsunterschiede |
| Minty als Admin | bash.exe | Administrative Unix/Linux -Like -Bash -Shell, die unter Windows ausgeführt werden. Unten finden Sie Unterschiede für Mintty -Konfigurationsunterschiede |
CMder, PowerShell und Bash -Registerkarten werden alle auf der Windows -Konsolen -API ausgeführt und funktionieren, wie Sie es in CMder erwarten.
HINWEIS: Nur die vollständige Ausgabe von CMder verfügt über eine vorinstallierte Bash, wobei eine verstellte Git-for-Windows-Installation verwendet wird. Die vorkonfigurierten Bash-Registerkarten funktionieren möglicherweise nicht ohne zusätzliche Konfiguration auf CMder Mini Edition.
Sie können jedoch eine externe Installation von Bash verwenden, z. B. das Subsystem von Microsoft für Linux (als WSL bezeichnet) oder das Cygwin -Projekt, das POSIX -Unterstützung unter Windows bietet.
HINWEIS: Mintty -Registerkarten verwenden ein Programm namens "Mintty" als Terminalemulator, das nicht auf der Windows -Konsolen -API basiert, sondern von Conemu grafisch gerendert. Mintty unterscheidet sich von den anderen Registerkarten, da es Xterm/Xterm-256Color-Termtypen unterstützt und nicht mit Conemu-Einstellungen wie Farbschemata und Schlüsselbindungen funktioniert. Daher sind einige Unterschiede in der Funktionalität zu erwarten, wie z. B. Cmder, die eine systemweite Konfiguration nicht anwenden kann.
Infolgedessen erfolgt die mintty -spezifische Konfiguration über die [%USERPROFILE%|$HOME]/.minttyrc -Datei. Sie können hier mehr über Mintty und seine Konfigurationsdatei lesen.
Ein Beispiel für die Festlegung von CMder -tragbaren Terminalfarben für Mintty:
Aus einer Bash/Minty -Hülle:
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
Möglicherweise finden Sie einige Monokai -Farbschemata, damit Mintty CMder hier entspricht.
cmd.exe -Eingabeaufforderung Die Standard -Cmder -Shell cmd::Cmder -Eingabeaufforderung wird mit Clink angepasst und durch Bearbeiten einer Konfigurationsdatei konfiguriert, die an einem von zwei Standorten vorhanden ist:
%CMDER_ROOT%configcmder_prompt_config.lua%CMDER_USER_CONFIG%cmder_prompt_config.lua Wenn in Ihrem CMder -Setup diese Datei nicht aus %CMDER_ROOT%vendorcmder_prompt_config.lua.default erstellt hat
Zu den Anpassungen gehören:
[user]@[host] bis zum Beginn der Eingabeaufforderung.~ Für das Heimverzeichnis.λ SymbolDie Dokumentation befindet sich in der Datei für jede Einstellung.
cmd.exe Shell -Startverhalten mithilfe von Aufgabenargumenten1. {cmd::Cmder as Admin}2. {cmd::Cmder}Hinweis: Achten Sie auf die Zitate!
cmd /s /k ""%ConEmuDir%..init.bat" [ADD ARGS HERE]"
init.bat| Argument | Beschreibung | Standard |
|---|---|---|
/c [user cmder root] | Ermöglicht Benutzer-Bin- und Konfigurationsordner für 'CMder als Administrator "aufgrund einer nicht stammenden Umgebung. | nicht gesetzt |
/d | Ermöglicht die Debug -Ausgabe. | nicht gesetzt |
/f | Aktiviert den CMder Fast Init -Modus. Dies deaktiviert einige Funktionen. Weitere Informationen finden Sie unter Pull Request #1492. | nicht gesetzt |
/t | Ermöglicht den zeitgesteuerten Init -Modus von Cmder. Dadurch werden die Zeit für die Zeit angezeigt. | nicht gesetzt |
/git_install_root [file path] | Benutzer angegeben Git Installation Root Pfad. | %CMDER_ROOT%vendorGit-for-Windows |
/home [home folder] | Benutzer angegebener Ordnerpfad, um %HOME% Umgebungsvariable festzulegen. | %userprofile% |
/max_depth [1-5] | Definieren Sie die maximale Wiederholungstiefe, wenn Sie den Pfad für %cmder_root%bin und %cmder_user_bin% addieren | 1 |
/nix_tools [0-2] | Definieren Sie, wie *nix -Tools zum Pfad hinzugefügt werden. Bevorzugene Windows -Tools: 1, bevorzugen *Nix -Tools: 2, no /usr/bin in %PATH% : 0 | 1 |
/svn_ssh [path to ssh.exe] | Definieren Sie %SVN_SSH% , damit wir Git SVN mit SSH -SVN -Repositories verwenden können. | %GIT_INSTALL_ROOT%binssh.exe |
/user_aliases [file path] | Dateipfad, der auf User -Aliase zeigt. | %CMDER_ROOT%configuser_aliases.cmd |
/v | Aktiviert die ausführliche Ausgabe. | nicht gesetzt |
| (benutzerdefinierte Argumente) | Benutzer definierte Argumente, die von cexec verarbeitet wurden. Geben Sie cexec /? für mehr Nutzung. | nicht gesetzt |
Eine einzelne Benutzer -tragbare Konfiguration ist mit den cmder -spezifischen Shell -Konfigurationsdateien möglich. Bearbeiten Sie die folgenden Dateien, um Ihre eigene Konfiguration hinzuzufügen:
| Hülse | Cmder tragbare Benutzerkonfiguration |
|---|---|
| Cmder | %CMDER_ROOT%configuser_profile.cmd |
| Powershell | $ENV:CMDER_ROOTconfiguser_profile.ps1 |
| Bash/Minty | $CMDER_ROOT/config/user_profile.sh |
HINWEIS: BASH- und MINTTY -Sitzungen werden auch die $HOME/.bashrc -Datei beziehen, wenn sie vorhanden ist, nachdem es $CMDER_ROOT/config/user_profile.sh bezeichnet wird.
Sie können *.cmd|*.bat , *.ps1 und *.sh -Skripte schreiben und sie einfach in den Ordner %CMDER_ROOT%configprofile.d fallen lassen, um CMDER zu Startkonfiguration hinzuzufügen.
| Hülse | Cmder Profile.d Skripte |
|---|---|
| Cmder | %CMDER_ROOT%configprofile.d*.bat and *.cmd |
| Powershell | $ENV:CMDER_ROOTconfigprofile.d*.ps1 |
| Bash/Minty | $CMDER_ROOT/config/profile.d/*.sh |
So deaktivieren Sie den CMder -Eingabeaufforderungs -Git -Status weltweit Folgendes zu ~/.gitconfig oder lokal für ein einzelnes Repo [repo]/.git/config und starten Sie eine neue Sitzung.
Hinweis: Diese Konfiguration ist nicht tragbar
[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 ) Aliase Sie können einfache Aliase für cmd.exe -Sitzungen mit einem Befehl wie alias name=command definieren. CMD.EXE-Aliase unterstützen optionale Parameter über die $1-9 oder die $* -Schiffzeichen, sodass der alias vi=vim.exe $* als vi [filename] tippt [filename] in vim.exe öffnet.
Cmd.exe -Aliase können auch komplexer sein. Weitere Informationen zu komplexen Aliase/Makros für cmd.exe finden Sie unter: doskey.exe dokumentation
Aliase %CMDER_ROOT%configuser_aliases.cmd die mit dem Befehl alias.bat definiert wurden
Um einen Alias und/oder andere Profileinstellungen dauerhaft zu erstellen, fügen Sie ihn zu einem der folgenden hinzu:
HINWEIS: Diese werden in dieser Bestellung von $CMDER_ROOT/vendor/init.bat geladen. Alles, was in %CMDER_ROOT% gespeichert ist, ist eine tragbare Einstellung und folgt CMder zu einem anderen Computer.
%CMDER_ROOT%configprofile.d*.cmd und *.bat%CMDER_ROOT%configuser_aliases.cmd%CMDER_ROOT%configuser_profile.cmd Bash -Shells unterstützen einfache und komplexe Aliase mit optionalen Parametern nativ, sodass sie ein wenig anders funktionieren. Das Eingeben von alias name=command erstellt nur für die aktuelle laufende Sitzung einen Alias.
Um einen Alias und/oder andere Profileinstellungen dauerhaft zu erstellen, fügen Sie ihn zu einem der folgenden hinzu:
HINWEIS: Diese werden in dieser Bestellung von $CMDER_ROOT/vendor/git-for-windows/etc/profile.d/cmder.sh geladen. Alles, was in $CMDER_ROOT gespeichert ist, ist eine tragbare Einstellung und folgt CMder zu einer anderen Maschine.
$CMDER_ROOT/config/profile.d/*.sh$CMDER_ROOT/config/user_profile.sh$HOME/.bashrc Wenn Sie $CMDER_ROOT/config/user_profile.sh Bash -Aliase hinzufügen, sind sie tragbar und folgen Ihrem CMder -Ordner, wenn Sie ihn auf einen anderen Computer kopieren. $HOME/.bashrc definierte Aliase sind nicht tragbar.
PowerShell hat beispielsweise eine einfache Alias-Unterstützung für einen nativen Alias [new-alias | set-alias] alias command , so dass komplexe Aliase mit optionalen Parametern in PowerShell-Sitzungen nicht unterstützt werden. Geben Sie get-help [new-alias|set-alias] -full für Hilfe bei PowerShell-Aliase.
Um einen Alias und/oder andere Profileinstellungen dauerhaft zu erstellen, fügen Sie ihn zu einem der folgenden hinzu:
Hinweis: Diese werden in dieser Reihenfolge von $ENV:CMDER_ROOTvendoruser_profile.ps1 geladen. Alles, was in $ENV:CMDER_ROOT gespeichert ist, ist eine tragbare Einstellung und folgt CMder zu einem anderen Computer.
$ENV:CMDER_ROOTconfigprofile.d*.ps1$ENV:CMDER_ROOTconfiguser_profile.ps1 Um den mitgeführten SSH-Agenten zu starten, rufen Sie einfach start-ssh-agent auf, der sich im Ordner vendor/git-for-windows/cmd befindet.
Wenn Sie SSH-Agenten beim Start ausführen möchten, fügen Sie die Zeile @call "%GIT_INSTALL_ROOT%/cmd/start-ssh-agent.cmd" in %CMDER_ROOT%/config/user_profile.cmd ein (normalerweise überzeugen).
CMder wird standardmäßig mit einer verstellten Git -Installation versendet. Bei jeder Instanz des Starts von CMder wird versucht, einen anderen von Git -Binärdateien bereitgestellten Benutzern zu lokalisieren. Nachdem Cmder eine git.exe -Binärin gefunden hat, vergleicht er seine Version weiter mit dem umgeordneten . Die von der verwendete git.exe Binärin wird nur verwendet, wenn es neuer ist als der von Benutzer installierte.
Sie können Ihre bevorzugte Version von Git verwenden, indem Sie seinen Pfad in die %PATH% Umgebungsvariable aufnehmen. Darüber hinaus schließt die Mini -Ausgabe von CMder (gefunden auf der Download -Seite) alle mitgeführten Git -Binärdateien aus.
Sie können Bash (die Standardhülle, die unter Linux, MacOS und GNU/Hurd verwendet wird) extern auf CMder anhand der folgenden Anweisungen ausführen:
+ , um eine Aufgabe hinzuzufügen.cmd /c "[path_to_external_env]binbash --login -i" -new_console zum Textfeld Commands hinzu.Empfohlene optionale Schritte:
Kopieren Sie die Datei vendor/cmder_exinit in den Ordner cygwin/babun, MSYS2 oder GIT für Windows SDK -Umgebungen /etc/profile.d/ , um tragbare Einstellungen im Ordner $CMDER_ROOT/config zu verwenden.
HINWEIS: Mingw könnte funktionieren, wenn die Init -Skripte profile.d enthalten.D, dies wurde jedoch nicht getestet.
Die Zieldateierweiterung hängt von der Shell ab, die Sie in dieser Umgebung verwenden. Zum Beispiel:
/etc/profile.d/cmder_exinit.sh/etc/profile.d/cmder_exinit.zshÜberzeugen Sie und bearbeiten Sie die unten stehende Zeile im Skript, um die CMder -Konfiguration zu verwenden, auch wenn sie von außerhalb von Cmder gestartet werden.
# CMDER_ROOT=${USERPROFILE}/cmder # This is not required if launched from Cmder.
init.bat benutzerdefinierte Argumente. Sie können benutzerdefinierte Argumente an init.bat übergeben und in Ihrem user_profile.cmd cexec.cmd verwenden, um diese Argumente zu bewerten und dann Befehle basierend auf einem bestimmten Flag auszuführen, das erkannt wird oder nicht.
init.bat erstellt zwei Verknüpfungen für die Verwendung cexec.cmd in Ihren Profilskripten.
%ccall% - bewertet Flags, führt Befehle aus, falls gefunden, und kehrt zum aufrufenden Skript zurück und setzt sich fort. ccall=call C:Usersusercmderdevvendorbincexec.cmd
Beispiel: %ccall% /startnotepad start notepad.exe
%cexec% - Evaluiert Flags, führt Befehle aus, falls gefunden, und kehrt nicht zum aufrufenden Skript zurück. cexec=C:Usersusercmderdevvendorbincexec.cmd
Beispiel: %cexec% /startnotepad start notepad.exe
Es ist nützlich, wenn Sie über mehrere Aufgaben verfügen, um cmder auszuführen und die Sitzung je nach gewählter Aufgabe unterschiedlich zu initialisieren.
So starten Sie bedingt notepad.exe , wenn Sie eine bestimmte cmder -Aufgabe starten:
Drücken Sie Win + Alt + T.
Klicken Sie auf + um eine neue Aufgabe hinzuzufügen.
Fügen Sie den Commands unten hinzu:
cmd.exe /k " " %ConEmuDir% ..init.bat " /startnotepad "
Fügen Sie das unten zu Ihrem %cmder_root%configuser_profile.cmd hinzu
%ccall% " /startNotepad " " start " " notepad.exe " `
Geben cexec cexec /? in Cmder.
Cmder standardmäßig verfügt über eine verstellte Conemu -Installation als den zugrunde liegenden Terminalemulator, wie hier angegeben.
Cmder kann jedoch in einer Vielzahl anderer Terminalemulatoren und sogar in integrierten IDEs laufen. Angenommen, Sie haben die neueste Version von CMder, folgen Sie den folgenden Anweisungen, damit Cmder mit Ihrem eigenen Terminalemulator arbeiten kann.
Für Anweisungen zur Integration von CMder in Ihre IDE lesen Sie bitte unseren Wiki -Bereich.
Der Prozess der Upgrade von CMder hängt von der Version/dem Build ab, die Sie derzeit ausführen.
Wenn Sie einen [cmder_root]/config/user[-|_]conemu.xml haben, führen Sie eine neuere Version von CMder aus, folgen Sie dem folgenden Prozess:
Beenden Sie alle CMder-Sitzungen und Relaunchs [cmder_root]/cmder.exe . Dadurch wird Ihr vorhandener [cmder_root]/vendor/conemu-maximus5/conemu.xml nach [cmder_root]/config/user[-|_]conemu.xml zurückgestellt.
[cmder_root]/config/user[-|_]conemu.xml enthält alle benutzerdefinierten Einstellungen, die Sie mit dem Dialogfeld "Setup-Aufgaben" -Seinstellungen erstellt haben. Beenden Sie alle CMder -Sitzungen und sichern Sie alle Dateien, die Sie unter [cmder_root]/vendor manuell bearbeitet haben.
[cmder_root]/vendor wird nicht empfohlen, da Sie diese Änderungen nach einem Upgrade erneut anwenden müssen. Alle Benutzeranpassungen sollten in [cmder_root]/config -Ordner verfolgen. Löschen Sie den Ordner [cmder_root]/vendor .
Extrahieren Sie das neue cmder.zip oder cmder_mini.zip in [cmder_root]/ überschreiben Sie alle Dateien, wenn sie aufgefordert werden.
Wenn Sie keine [cmder_root]/config/user[-|_]conemu.xml haben, führen Sie eine ältere Version von CMder aus, folgen Sie dem folgenden Prozess:
Beenden Sie alle CMder-Sitzungen und Backups [cmder_root]/vendor/conemu-maximus5/conemu.xml an [cmder_root]/config/user[-|_]conemu.xml .
Sichern Sie alle Dateien, die Sie unter [cmder_root]/vendor manuell bearbeitet haben.
[cmder_root]/vendor wird nicht empfohlen, da Sie diese Änderungen nach einem Upgrade erneut anwenden müssen. Alle Benutzeranpassungen sollten in [cmder_root]/config -Ordner verfolgen. Löschen Sie den Ordner [cmder_root]/vendor .
Extrahieren Sie das neue cmder.zip oder cmder_mini.zip in [cmder_root]/ überschreiben Sie alle Dateien, wenn sie aufgefordert werden.
Sie können Builds der aktuellen Entwicklungszweig herunterladen, indem Sie über den folgenden Link zum Appveyor gehen:
Der neueste Download -Builds von GitHub -Aktionen kann aus dem folgenden Link heruntergeladen werden:
Alle Software enthalten ist mit eigener Lizenz gebündelt
Die MIT -Lizenz (MIT)
Copyright (C) 2016 Samuel Vasko
Die Erlaubnis wird hiermit einer Person, die eine Kopie dieser Software und zugehörigen Dokumentationsdateien (der "Software") erhält, kostenlos erteilt, um die Software ohne Einschränkung zu behandeln, einschließlich ohne Einschränkung der Rechte, zu verwenden, zu kopieren, zu modifizieren, zusammenzufassen, zu veröffentlichen, zu veröffentlichen, zu verteilen, zu verteilt, und/oder Kopien der Software zu ermöglichen, um Personen zu beanstanden, an denen die Software zugänglich ist, um die folgenden Bedingungen zu beantragen.
Die oben genannte Copyright -Mitteilung und diese Erlaubnisbekanntmachung müssen in alle Kopien oder wesentlichen Teile der Software enthalten sein.
Die Software wird "wie es ist" ohne Garantie jeglicher Art, ausdrücklich oder stillschweigend bereitgestellt, einschließlich, aber nicht beschränkt auf die Gewährleistung der Handelsfähigkeit, die Eignung für einen bestimmten Zweck und die Nichtverletzung. In keinem Fall sind die Autoren oder Urheberrechtsinhaber für Ansprüche, Schäden oder andere Haftungen haftbar, sei es in einer Vertragsklage, unerbittlich oder auf andere Weise, die sich aus oder im Zusammenhang mit der Software oder anderen Geschäften in der Software ergeben.