CMDER是一個因在Windows上沒有可用的控制台仿真器而純粹的挫敗感而創建的軟件包。它基於帶有主要配置大修的CONEMU,帶有Monokai配色方案,令人驚嘆的曲目(通過曲目完成進一步增強)和自定義提示佈局。
CMDE的主要優點是可移植性。它旨在完全獨立,沒有外部依賴性,這使其非常適合USB棒或雲存儲。因此,您可以隨身攜帶控制台,別名和二進製文件(例如wget , curl和git )。
CMDER的用戶界面還旨在更令人愉悅,您可以在此處比較CMDER和CONEMU之間的主要區別。
C:Program Files或其他需要管理員訪問以修改配置文件的任何地方%cmder_root%bin文件夾中,以注入您的路徑。Cmder.exe%cmder_root%bin中。請參閱:bin/readme.mdinit.bat ”表的“命令行參數”中的/max_depth [1-5] ,以遞歸添加子目錄。%cmder_root%opt中。請參閱:opt/readme.md/C命令行參數運行Cmder.exe 。示例: cmder.exe /C %userprofile%cmder_config如果丟失了以下目錄結構,則將創建以下目錄結構。
c:users[username]cmder_config
├───bin
├───config
│ └───profile.d
└───opt
%userprofile%cmder_configbin 。init.bat ”表的“命令行參數”中的/max_depth [1-5] ,以遞歸添加子目錄。%user_profile%cmder_configopt中。| 爭論 | 描述 |
|---|---|
/C [user_root_path] | 單個用戶CMDER根文件夾。示例: %userprofile%cmder_config |
/M | 使用conemu-%computername%.xml進行conemu設置存儲而不是user_conemu.xml |
/REGISTER [ALL, USER] | 註冊Windows Shell菜單快捷方式。 |
/UNREGISTER [ALL, USER] | 取消註冊Windows Shell菜單快捷方式。 |
/SINGLE | 以單模式啟動CMDER。 |
/START [start_path] | 文件夾路徑開始。 |
/TASK [task_name] | 啟動後開始的任務。 |
/X [ConEmu extras pars] | 向前參數到CONEMU |
因此,您已經對CMDER進行了一些實驗,並希望在更永久的家中試一試;
.cmder.exe /REGISTER ALL如果收到“訪問拒絕”消息,請確保您在管理員提示符中執行命令。在文件資源管理器窗口中,右鍵單擊或在目錄上查看上下文菜單中的“ CMDER”。
(儘管存在一些快捷方式,但尚未記錄下來 - 請在此處記錄它們)
您可以打開多個包含以下外殼之一的選項卡:
| 任務 | 殼 | 描述 |
|---|---|---|
| cmder | cmd.exe | Windows cmd.exe Shell隨著GIT,GIT Aware Prives,Clink(GNU Readline)和別名增強。 |
| cmder作為管理員 | cmd.exe | 管理Windows cmd.exe cmder shell。 |
| Powershell | powershell.exe | Windows Powershell通過git和git Aware提示增強。 |
| Powershell擔任管理員 | powershell.exe | 管理Windows powershell.exe cmder shell。 |
| bash | bash.exe | Unix/Linux喜歡在Windows上運行的Bash Shell。 |
| bash作為管理員 | bash.exe | 管理Unix/Linux,例如在Windows上運行的Bash Shell。 |
| 薄荷 | bash.exe | Unix/Linux喜歡在Windows上運行的Bash Shell。請參閱下面的薄荷配置差異 |
| Mintty作為管理員 | bash.exe | 管理Unix/Linux,例如在Windows上運行的Bash Shell。請參閱下面的薄荷配置差異 |
cmder,powershell和bash選項卡都在Windows控制台API的頂部運行,並且您可能會在CMDER中使用CONEMU的配色方案,鑰匙綁定和ConeMu設置對話框中定義的其他設置。
注意:使用供應商的git-for-windows安裝,只有完整版的CMDER帶有預安裝的bash。沒有其他配置的情況下,預配置的bash選項卡可能無法在CMDER MINI版本上使用。
但是,您可以選擇使用Bash的外部安裝,例如Microsoft的Linux子系統(稱為WSL)或Cygwin Project,該項目在Windows上提供POSIX支持。
注意: Mintty Tabs使用一個名為“ Mintty”的程序作為不基於Windows Console API的終端模擬器,而是由ConeMu以圖形方式渲染。 Mintty與其他選項卡不同,因為它支持XTERM/XTERM-256COLOR項類型,並且不適用於配色方案和關鍵綁定等CONEMU設置。因此,可以期待功能上的某些差異,例如CMDER無法對其進行全系統配置。
結果,mintty特定的配置是通過[%USERPROFILE%|$HOME]/.minttyrc文件完成的。您可以在此處閱讀有關Mintty及其配置文件的更多信息。
設置Mintty的CMDER便攜式終端顏色的示例:
從狂歡/薄荷外殼中
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
您可能會在此處找到一些Monokai配色方案,可以在此處匹配CMDE。
cmd.exe提示文件文件默認的cmder shell cmd::Cmder提示是使用Clink自定義的,並通過編輯在兩個位置之一中的配置文件進行配置:
%CMDER_ROOT%configcmder_prompt_config.lua%CMDER_USER_CONFIG%cmder_prompt_config.lua如果您的cmder設置沒有此文件,請從%CMDER_ROOT%vendorcmder_prompt_config.lua.default創建它。
自定義包括:
[user]@[host]提示的開頭。~對於主目錄。λ符號文檔在每個設置的文件中。
cmd.exe shell啟動行為1. {cmd::Cmder as Admin}2. {cmd::Cmder}注意:注意報價!
cmd /s /k ""%ConEmuDir%..init.bat" [ADD ARGS HERE]"
init.bat的命令行論證| 爭論 | 描述 | 預設 |
|---|---|---|
/c [user cmder root] | 由於非共享的環境,啟用用戶箱和配置文件夾,用於“ CMDER為Admin”會話。 | 未設置 |
/d | 啟用調試輸出。 | 未設置 |
/f | 啟用cmder快速初始模式。這會禁用某些功能,有關更多詳細信息,請參見“拉請請求#1492”。 | 未設置 |
/t | 啟用cmder定時初始模式。這顯示了運行量腳本所花費的時間 | 未設置 |
/git_install_root [file path] | 用戶指定的git安裝根路徑。 | %CMDER_ROOT%vendorGit-for-Windows |
/home [home folder] | 用戶指定的文件夾路徑以設置%HOME%環境變量。 | %userprofile% |
/max_depth [1-5] | 在添加%cmder_root%bin和%cmder_user_bin%的路徑時,定義最大重複深度 | 1 |
/nix_tools [0-2] | 定義如何將*nix工具添加到路徑中。更喜歡Windows工具:1,更喜歡 *NIX工具:2,no /usr/bin in %PATH% :0 | 1 |
/svn_ssh [path to ssh.exe] | 定義%SVN_SSH%因此我們可以將GIT SVN與SSH SVN存儲庫一起使用。 | %GIT_INSTALL_ROOT%binssh.exe |
/user_aliases [file path] | 指向用戶別名的文件路徑。 | %CMDER_ROOT%configuser_aliases.cmd |
/v | 啟用詳細輸出。 | 未設置 |
| (自定義參數) | 用戶定義的參數由cexec處理。鍵入cexec /?更多用法。 | 未設置 |
使用cmder特定的shell配置文件,可以使用單用戶便攜式配置。編輯以下文件以添加您自己的配置:
| 殼 | cmder便攜式用戶配置 |
|---|---|
| cmder | %CMDER_ROOT%configuser_profile.cmd |
| Powershell | $ENV:CMDER_ROOTconfiguser_profile.ps1 |
| bash/mintty | $CMDER_ROOT/config/user_profile.sh |
注意: bash and mintty會話還將在$HOME/.bashrc文件中獲取$CMDER_ROOT/config/user_profile.sh的$ home/.bashrc文件。
您可以編寫*.cmd|*.bat , *.ps1和*.sh腳本,然後將它們放入%CMDER_ROOT%configprofile.d文件夾中,以將啟動config添加到cmder。
| 殼 | cmder Profile.d腳本 |
|---|---|
| cmder | %CMDER_ROOT%configprofile.d*.bat and *.cmd |
| Powershell | $ENV:CMDER_ROOTconfigprofile.d*.ps1 |
| bash/mintty | $CMDER_ROOT/config/profile.d/*.sh |
為了禁用CMDER提示Git狀態全球添加以下內容到~/.gitconfig或本地添加單個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.
Cmd.exe )別名您可以使用諸如alias name=command類的命令定義cmd.exe會話的簡單別名。 CMD.EXE別名通過$1-9或$*特殊字符支持可選參數,因此Alias vi=vim.exe $*鍵入為vi [filename]將在vim.exe中打開[filename] 。
CMD.EXE別名也可能更複雜。請參閱:Doskey.exe文檔有關cmd.exe複雜別名/宏的更多詳細信息
使用alias.bat命令定義的別名將自動保存在%CMDER_ROOT%configuser_aliases.cmd文件中
為了使別名和/或任何其他配置文件設置永久添加到以下一個:
注意:這些是通過$CMDER_ROOT/vendor/init.bat按此順序加載的。在%CMDER_ROOT%中存儲的任何內容都將是一種便攜式設置,並將遵循CMDER到另一台計算機。
%CMDER_ROOT%configprofile.d*.cmd和*.bat%CMDER_ROOT%configuser_aliases.cmd%CMDER_ROOT%configuser_profile.cmdBash Shells本地支持具有可選參數的簡單和復雜的別名,因此它們的工作方式有所不同。鍵入alias name=command將僅為當前運行會話創建一個別名。
為了使別名和/或任何其他配置文件設置永久添加到以下一個:
注意:這些是通過$CMDER_ROOT/vendor/git-for-windows/etc/profile.d/cmder.sh加載的。 $CMDER_ROOT中存儲的任何內容都將是一種便攜式設置,並將遵循CMDER到另一台計算機。
$CMDER_ROOT/config/profile.d/*.sh$CMDER_ROOT/config/user_profile.sh$HOME/.bashrc如果將BASH別名添加到$CMDER_ROOT/config/user_profile.sh它們將是可移植的,如果將其複製到另一台計算機時,請關注您的CMDER文件夾。 $HOME/.bashrc定義的別名無法便攜。
PowerShell具有本機簡單的別名支持,例如[new-alias | set-alias] alias command ,因此在PowerShell會話中不支持具有可選參數的複雜別名。鍵入get-help [new-alias|set-alias] -full以幫助powershell別名。
為了使別名和/或任何其他配置文件設置永久添加到以下一個:
注意:這些是按照此順序加載的$ENV:CMDER_ROOTvendoruser_profile.ps1 。 $ENV:CMDER_ROOT將是一種便攜式設置,並將遵循CMDER到另一台計算機。
$ENV:CMDER_ROOTconfigprofile.d*.ps1$ENV:CMDER_ROOTconfiguser_profile.ps1要啟動供應商的SSH代理,只需調用start-ssh-agent ,它在vendor/git-for-windows/cmd文件夾中。
如果要在啟動上運行SSH代理,請在%CMDER_ROOT%/config/user_profile.cmd (通常只是刪除IT)中包含@call "%GIT_INSTALL_ROOT%/cmd/start-ssh-agent.cmd" 。
默認情況下,CMDER是使用供應商的Git安裝運送的。在啟動cmder的每個實例中,都會嘗試找到任何其他提供的用戶提供的git二進製文件。找到git.exe二進製文件後,cmder通過執行該版本將其版本與供應商的版本進行了比較。供應商的git.exe二進制只有比用戶安裝的二進製文件使用。
您可以通過在%PATH%環境變量中包含其最喜歡的git版本。此外,CMDER的迷你版(在下載頁面上找到)不包括任何供應商的Git二進製文件。
使用以下說明,您可以在CMDER上外部運行Bash(MacOS和GNU/Hurd上使用的默認外殼):
+按鈕添加任務。cmd /c "[path_to_external_env]binbash --login -i" -new_console到Commands文本框。建議的可選步驟:
將vendor/cmder_exinit文件複製到Windows SDK Environments /etc/profile.d/文件夾中使用$CMDER_ROOT/config FOLDER中的Portable設置。
注意:如果INIT腳本包含profile.d MINGW可以工作,但尚未對其進行測試。
目標文件擴展名取決於您在該環境中使用的外殼。例如:
/etc/profile.d/cmder_exinit.sh/etc/profile.d/cmder_exinit.zsh在腳本中的刪節和編輯以下行,即使從外部CMDER啟動時,也可以使用CMDER配置。
# CMDER_ROOT=${USERPROFILE}/cmder # This is not required if launched from Cmder.
init.bat自定義參數自定義用戶會話。您可以將自定義參數傳遞給init.bat ,並在您的user_profile.cmd中使用cexec.cmd來評估這些參數,然後根據檢測到的特定標誌執行命令。
init.bat創建了兩個用於在您的個人資料腳本中使用cexec.cmd快捷方式。
%ccall% - 評估標誌,運行命令,如果發現並返回到調用腳本並繼續。 ccall=call C:Usersusercmderdevvendorbincexec.cmd
示例: %ccall% /startnotepad start notepad.exe
%cexec% - 評估標誌,如果找到命令,則運行命令,並且不會返回到調用腳本。 cexec=C:Usersusercmderdevvendorbincexec.cmd
示例: %cexec% /startnotepad start notepad.exe
當您有多個任務執行cmder並需要根據所選任務以不同的方式初始化會話的初始化時,這很有用。
在啟動特定cmder任務時有條件地啟動notepad.exe :
媒體Win + Alt + T
單擊+添加新任務。
將下面添加到Commands塊:
cmd.exe /k " " %ConEmuDir% ..init.bat " /startnotepad "
將下面添加到您的%cmder_root%configuser_profile.cmd
%ccall% " /startNotepad " " start " " notepad.exe " `
要查看cexec的詳細用法,請鍵入cexec /?在cmder。
默認情況下,如下所述,默認情況下,作為基礎終端模擬器,帶有供應商Conemu安裝。
但是,CMDER實際上可以在許多其他終端模擬器中運行,甚至可以集成的IDE。假設您擁有最新版本的CMDER,請按照以下說明與您自己的終端模擬器一起使用CMDER。
有關如何將CMDE與IDE集成的說明,請閱讀我們的Wiki部分。
升級CMDE的過程取決於您當前正在運行的版本/構建。
如果您有一個[cmder_root]/config/user[-|_]conemu.xml ,您正在運行較新版本的CMDER,請按照以下過程:
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 .
[cmder_root]/config/user[-|_]conemu.xml包含您使用“設置任務”設置對話框進行的任何自定義設置。退出所有CMDER會話並備份您在[cmder_root]/vendor下手動編輯的所有文件。
[cmder_root]/vendor下進行編輯文件,因為您需要在升級後重新應用這些更改。所有用戶自定義都應在[cmder_root]/config文件夾中使用。刪除[cmder_root]/vendor文件夾。
提示時,將新的cmder.zip或cmder_mini.zip提取到[cmder_root]/覆蓋所有文件。
如果您沒有[cmder_root]/config/user[-|_]conemu.xml ,您正在運行舊版本的CMDER,請按照以下過程:
退出所有CMDER會話和備份[cmder_root]/vendor/conemu-maximus5/conemu.xml到[cmder_root]/config/user[-|_]conemu.xml 。
備份您在[cmder_root]/vendor下手動編輯的任何文件。
[cmder_root]/vendor下進行編輯文件,因為您需要在升級後重新應用這些更改。所有用戶自定義都應在[cmder_root]/config文件夾中使用。刪除[cmder_root]/vendor文件夾。
提示時,將新的cmder.zip或cmder_mini.zip提取到[cmder_root]/覆蓋所有文件。
您可以通過以下鏈接進入Appveyor下載當前開發分支的構建:
GitHub Action的最新下載構建可以從下面的鏈接下載:
包含的所有軟件都捆綁在一起
麻省理工學院許可證(MIT)
版權(c)2016塞繆爾·瓦斯科(Samuel Vasko)
特此免費授予獲得此軟件副本和相關文檔文件副本(“軟件”)的任何人,以無限制處理該軟件,包括無限制的使用權,複製,複製,修改,合併,合併,發布,分發,分發,分發,訂婚,和/或允許軟件的副本,並允許對以下條件提供以下條件,以下是以下條件。
上述版權通知和此許可通知應包含在軟件的所有副本或大量部分中。
該軟件是“原樣”提供的,沒有任何形式的明示或暗示保證,包括但不限於適銷性,特定目的的適用性和非侵權的保證。在任何情況下,作者或版權持有人都不應對任何索賠,損害賠償或其他責任責任,無論是在合同,侵權的訴訟中還是其他責任,是由軟件,使用或與軟件中的使用或其他交易有關的。