Windows 必备神器 Cmder 使用教程
?
From:終端利器Cmder:https://www.e-learn.cn/topic/3885768
?
?
1. 安裝?Cmder
?
打開 Cmder官網(?https://cmder.net?),下拉頁面找到 Download 項選擇下載,下載的時候,兩個版本,分別是 mini 與 full 版;唯一的差別在于有沒有內建 git-for-windows 工具,這是 Git for Windows 的標準配備;全安裝版 Cmder 自帶了 msysgit,除了 git 本身這個命令之外,?cmder 完全支持?Linux?命令行,里面可以使用大量的 linux 命令,比如 grep、curl (沒有 wget)、vim、grep、tar、unzip、ssh、ls、bash、perl 等,而且可以多開,快捷鍵復制粘貼,分屏等,功能非常強大
這里選擇 full 版本點擊下載。下載的是 Cmder 的壓縮包,解壓即可以使用。
?
啟動 Cmder
Cmder 解壓后,雙擊?Cmder.exe 即可運行。
如果每次都進入到 Cmder 解壓目錄雙擊 Cmder.exe 打開的方式很麻煩,可以使用下面幾種方式很好的解決問題;
- 1、把 Cmder 加到環境變量。把 Cmder.exe 存放的目錄添加到系統環境變量;加完之后,win+r 然后輸入cmder 即可。
- 2、添加 cmder 到右鍵菜單。添加后在任意文件夾中即可打開Cmder,上一步的把 Cmder 加到環境變量就是為此服務的,在管理員權限的終端輸入以下語句即可: Cmder.exe /REGISTER ALL
- 3、為 Cmder.exe創建快捷方式,右擊 Cmder.exe 選擇 "創建快捷方式" 點擊即可,或者把創建的 快捷方式 放到?C:\Windows\System32,加完之后,win+r 然后輸入cmder 即可。
?
Cmder 常用功能介紹
cmder 功能極為強大,這里就先說下常用的功能:
- 1. Cmder 常用快捷鍵 tab ? ? ? ? ? 自動路徑補全;ctrl + t ? ? ?建立新頁簽; ctrl + w ? ? ?關閉頁簽; ctrl + tab ? ?切換頁簽; ctrl + 1 ? ? ?快速切換到第1個頁簽 ctrl + n ? ? ?快速切換到第n個頁簽( n值無上限) alt + F4 ? ? ?關閉所有頁簽ctr + r ? ? ? 歷史命令搜索 alt + enter ? 切換到全屏狀態alt + shift + 1 ? ?開啟 cmd.exe alt + shift + 2 ? ?開啟 powershell.exe alt + Shift + 3 ? ?開啟 powershell.exe (系統管理員權限)
- 2. 可在 視窗內 搜尋 畫面上 出現過的任意關鍵字。
- 3. 新增 頁簽 按鈕。
- 4. 切換 頁簽 按鈕。
- 5. 鎖定 視窗,讓視窗無法再輸入。
- 6. 切換 視窗 是否提供卷軸功能,啟動時可查詢之前顯示過的內容。
- 7. 按下滑鼠左鍵可開啟系統選單,滑鼠右鍵可開啟工具選項視窗。 Win+Alt+P ?:開啟 工具選項 視窗
cmder分屏功能: ctrl + t? 或者 點擊 右下角 + 號
分屏功能 快捷鍵 設置:
?
Cmder 進階功能
?
- Cmder 增加了 alias 功能:可以給?超長又難以記憶的指令 起一個 別名?,輸入 alias 可以查看已有的 別名。打開安裝目錄 config/user-aliases.cmd 文件,直接修改。
自定義 aliases:打開 Cmder 目錄下的 config 文件夾,里面的 aliases 文件就是我們可以配置的別名文件,直接修改。
? ? 這里將?ls 命令的別名按下列方式修改,添加至文件末尾,就可以在 ls 命令下顯示中文,同時增強命令并添加顏色區分。
????????l=ls --show-control-chars
????????la=ls -aF --show-control-chars
????????ll=ls -alF --show-control-chars
????????ls=ls --show-control-chars -F -
主控臺文字自動放大縮小功能,只要按下 Ctrl + 滑鼠滾輪 就可以辦到,還有 up 向上翻歷史命令。
- 鼠標選中自動復制到剪切板。直接?鼠標右鍵?即可 粘貼,或者使用?Ctrl + v?進行粘貼。
?
?
2. Cmder 設置
?
右下角 的 三杠,然后選擇 Settings ,或者 使用快捷鍵 Windows+Alt+p 打開 設置
?
解決文字重疊:
Win + ALT + P 打開設置界面 monospce,去掉勾勾即可。
如果不行,可以把 Compress long strings to fit space 關掉。
?
設置編碼,解決中文亂碼
設置:set LC_ALL=zh_CN.UTF-8?? ?或者? ??set LANG=zh_CN.UTF-8
查看 git log 時亂碼
在?Startup --->?Environment?中添加下面的語句:
set LANG=zh_CN.UTF-8然后執行下面的命令,來配置git log的輸出
git config --global i18n.logoutputencoding utf-8或者在 .gitconfig 文件中配置
更多亂碼問題見:?cmder中文亂碼 - CSDN博客
設置中文界面: 選擇??General ---> Interface language ---> zh:簡體中文
?
設置為默認終端
setting ---> 集成 ---> 默認終端?---> 強制使用ConEmu作為控制臺應用程序的默認終端。如果允許某些程序出現錯誤,需要關閉此選項;比如 mkcert。
-
圖中綠色設置可以強制將cmder注冊成Windows的默認終端
設置此選項后,系統啟動后就會生效,且,即使你打開的是cmd,也會被放到cmder的窗口中執行
-
紅色選項可以解決每次關閉控制臺時,彈出確認關閉的彈窗
窗口位置大小記憶:勾選這兩個設置,只需要設置一次,下次會自動記住上次終端在桌面出現的位置和窗口大小
?
設置 vi 模式下 ESC 鍵最小化窗口的問題
- 將圖中紅色改成除了總是的其他選項,否則使用vi時會出現無法切換模式的問題
- 勾選綠色的選項可以解決打開多個終端,任務欄顯示多個窗口的問題
?
解決粘貼多行文本時的彈窗
例如在終端中執行多行SQL語句,總會彈出提示,勾選選項可以解決
?
將命令提示改成?$
默認的命令提示符是λ,大家都知道Linux是$,這里提供一下修改的方法,并不是必須的
- 1) 首先在cmder的安裝目錄下,找到vendor/目錄,然后找到clink.lua文件
- 2) 打開后可以Ctrl+F查找下面的字段?local lambda =
- 3) 將local lambda =""的值替換成$
?
將 Idea 的 Terminal 終端換成?cmder?
1) 在 idea 中打開其他設置界面,在 idea 中 settings 是對當前項目生效,Other Settings 是對所有項目生效
2) 修改 shell Path 的路徑,替換成下面的內容
注意將 cmder 安裝目錄換成你的安裝目錄
//這種方式比較可靠,避免了環境變量失效的問題 "cmd.exe" /k ""你的cmder安裝目錄\vendor\init.bat""//或者,這個需要有環境變量 "cmd.exe" /k ""%環境變量配置的cmder home目錄名稱%\vendor\init.bat""3) 再次打開Terminal終端就可以使用Linux命令了
?
將 vscode 的 Terminal 終端設置成 cmder
1)打開設置
2) 搜索code save,點擊打開設置json文件
3)將下面的代碼粘貼到文件中,修改為自己需要的內容。注意:修改cmder的安裝目錄為自己的安裝目錄
// 設置終端為cmder "terminal.integrated.shell.windows": "cmd.exe", "terminal.integrated.env.windows": {//設置cmder的根目錄"CMDER_ROOT": "cmder的根目錄" }, "terminal.integrated.shellArgs.windows": [ "/k", //設置啟動初始化目錄 "cmder的根目錄\\vendor\\init.bat" ], //下面的設置可以不需要 //終端顏色配置 "workbench.colorCustomizations": { //可以將鼠標放到下面的色號上根據自己的偏好進行選擇 "terminal.foreground": "#37FF13", "terminal.background": "#2b2424" }, "terminal.integrated.cursorBlinking": true, //設置terminal中的行高 "terminal.integrated.lineHeight": 1.1, "terminal.integrated.letterSpacing": 0.1, "terminal.integrated.fontSize": 12, //字體大小設置 "terminal.integrated.fontFamily": "monaco", //字體設置 "terminal.integrated.shell.linux": "/bin/zsh"4)?Ctrl+J打開終端,就可以使用了
?
Cmder 啟動選項
默認選擇的啟動項應該是?{cmd::Cmder}?這個命名任務,我們可以更改成其它的命令任務或者直接切換到其它的啟動項。
默認的是 cmd,這里演示設置?PowerShell 的方法。也可使 設置 默認使用 bash,這個看個人需求。
?
自定義啟動目錄
下面就來克隆現有的{cmd::Cmder}添加一個設置自定義的啟動目錄的任務(Task):
- 任務參數:下面來看? "Task parameters" 命令參數,閱讀實例可知參數?/icon指定圖標位置,/dir?指定啟動目錄,所以我們可以添加下面的參數:/icon "%CMDER_ROOT%\icons\cmder.ico" /dir "C:\Users\Fan"
- 記得在?startup?的 "Specified named task"?處選擇?cmd::diy1
- 保存設置,退出,重新打開 cmder 查看效果
具體配置和使用可見:cmder: Lovely console emulator package for Windows?。
?
cmder 連接 Linux 子系統(WSL)
Windows Subsystem for Linux(簡稱WSL)。
ConEmu(包括基于 ConEmu 修改的 cmder) 等終端模擬器也已經適配了 WSL 環境。
連接方式:
- 添加一個標簽頁時(點擊右下角的 ?),選擇?WSL ---> bash
- 或直接將啟動任務指定為?{WSL::bash}
Windows系統的分區全部掛載于 Linux 子系統的?/mnt?目錄
$ ls /mnt c d e f gWSL的安裝見:?Install the Linux Subsystem on Windows 10 - Microsoft Docs
?
ssh agent
ssh-agent 介紹可參考:?SSH相關命令?中的 ssh-agent 部分
cmd 模式中:
官方文檔中有說在 cmd 模式中如何處理 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).
bash模式中:
官方文檔中沒有說,但我們可以這樣解決。
在$HOME/.bashrc或$HOME/.profilec文件中添加如下內容:
# 啟動一個 ssh-agent 進程 eval "$(ssh-agent -s)" # 這里同時添加了兩個私鑰 ssh-add "C:/Users/Fan/.ssh/one_rsa" "C:/Users/Fan/.ssh/two_id_rsa" # 清除上面命令的輸出內容 clear?
調節背景的透明度
我調整透明度的目的是編寫前端代碼時可以透過cmder直接看到瀏覽器頁面的變化,無需切換到瀏覽器再看變化,減少軟件切換成本。其實調整好透明度可以更美觀。
?
alias 別名機制
Cmder 增加了alias功能:?它讓你用短短的指令執行一些常見但指令超長又難以記憶的語法;
在其控制臺輸入alias可以查看。
1. cmd aliases:
在%CMDER_ROOT%\config\user-aliases.cmd中添加cmd aliases,它僅用于 cmd 命令
示例:
ls=ls --show-control-chars -F --color $* pwd=cd clear=clsuser-aliases.cmd: aliases in cmd; called from vendor\init.bat; autocreated from
vendor\user-aliases.cmd.example.
參考:cmder/README.md at master · cmderdev/cmder
2. Bash/Mintty aliases:
對于bash,其配置文件的加載順序是:
$CMDER_ROOT/config/profile.d/*.sh $CMDER_ROOT/config/user-profile.sh $HOME/.bashrc所以我們可以在上面的文件中添加 alias 即可。
幾個示例:
alias l.='ls -d .* --color=tty' alias ll='ls -l --color=tty' alias ls='ls --color=tty'由于 Git for Windows 會自動創建?~/.bash_profile,而對此cmder會提示有沖突,此時可以創建一個~/.profile并在該文件中添加別名。(這里?~表示$HOME)
原本是想添加ssh-agent bash相關的別名的,但是一旦執行此命令后啟動了一個子shell,在此子shell里不可以使用別名。可參考下文的ssh agent部分。(這里屬于ssh代理相關問題)
3.Power Shell aliases:
直接使用alias命令添加或在下面的文件中添加:
'$ENV:CMDER_ROOT\config\profile.d\*.ps1' '$ENV:CMDER_ROOT\config\user-profile.ps1'補充: 鎖定視窗 ,可以讓視窗無法再輸入
?
Chocolatey 軟件包管理系統
以管理員權限打開窗口,運行下面的語句
@powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin安裝軟件命令?choco install softwareName,
- 短寫是?cinst softwareName
查詢安裝包是否存在?clist softwareName
可安裝包列表
choco install autohotkey.portable #安裝 AutoHotkey (Portable) choco install nodejs.install #安裝 node choco install git.install #安裝 git choco install python #安裝 python choco install ruby #安裝 ruby choco install jdk8 #安裝 JDK8 choco install googlechrome #安裝 Chrome choco install google-chrome-x64 #Google Chrome (64-bit only) choco install firefox #安裝 firefox choco install notepadplusplus.install #安裝 notepad++ choco install Atom #安裝 Atom choco install SublimeText3 #安裝 SublimeText3?
?
?
?
總結
以上是生活随笔為你收集整理的Windows 必备神器 Cmder 使用教程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python 日期 的 加减 等 操作
- 下一篇: windows 的 wsl 命令