對於習慣了Linux和Mac的同學來說,Windows自帶的終端確實不太好用。其實我們完全可以用Bash取而代之。
安裝Windows Terminal
自從巨硬擁抱開源之後,那是騷操作頻頻。Windows Terminal是一個開源項目,它本身只是一個終端容器,可以裝載系統自帶的CMD、PowerShell甚至是WSL子系統的終端。
下載安裝很簡單,可以在應用商店直接搜索Terminal安裝,也可以去GitHub上下載安裝包:https://github.com/microsoft/terminal/releases
**注:**需要Win10版本不小於1903。Win+R打開“運行”輸入 winver
命令即可查看系統版本。
安裝Git for Windows
先到官網(https://git-scm.com/download/win)下載 64-bit Git for Windows Setup 然後安裝,基本上一路下一步,但需要注意幾點最後一步有3個Enable xxx,默認第3個(和symbollink相關)沒勾,請把它勾上。
安裝Git主要是爲了它附送的Git Bash,這是本文的主角。裝好後注意配置一下環境變量Path,把這幾個都加上:
# 具體路徑以你安裝時的選擇爲準
C:\Program Files\Git\cmd
C:\Program Files\Git\bin
C:\Program Files\Git\usr\bin
把Git Bash添加到Windows Terminal中
打開Terminal,在頂部可以找到Settings設置選項:
所有設置都在一個json文件中,配置起來相當靈活,我們可以看到其中有一個list數組,對應的就是現有的終端,接下來我們在數組首位插入一段關於Git Bash的配置:
"list":
[
{
"acrylicOpacity" : 0.75, // 窗口透明度
"closeOnExit" : true, // 關閉Terminal是否退出bash
"colorScheme" : "Campbell", // 顏色主題
"commandline" : "bash.exe", // Git Bash的相對路徑,因爲你配置了環境變量所以不用寫絕對路徑
"cursorColor" : "#FFFFFF", // 光標顏色
"cursorShape" : "bar", // 光標樣式
"fontFace" : "JetBrains Mono", // 字體,必須是系統中已安裝的字體
"fontSize" : 11,
"guid" : "{0caa0dad-35be-5f56-a8ff-afceeeaa6109}", // 該終端的唯一id,一定要和list中其他項不同
"historySize" : 9001,
"icon" : "C:\\Git\\gwindows_logo.png", // Terminal標籤頁上的圖標,自己隨便找個都行
"name" : "git-bash", // 標籤頁上的標題
"padding" : "0, 0, 0, 0", // 終端內容內邊距
"snapOnInput" : true,
"startingDirectory" : "%USERPROFILE%", // 每次打開的初始目錄
"useAcrylic" : true
},
{
// Make changes here to the powershell.exe profile
...
},
{
// Make changes here to the cmd.exe profile
...
},
{
...
},
{
...
}
]
然後把你自己瞎編的那一串guid替換本json文件上方的 defaultProfile
字段,這樣你每次打開Windows Terminal時就會默認啓動Git Bash了。有人會問怎麼編guid,你可以複製已經有的,然後改一下末尾數字:
"defaultProfile": "{0caa0dad-35be-5f56-a8ff-afceeeaa6109}"
搞定了就:
解決中文無法顯示的問題
打開Git安裝目錄下的 C:\Git\etc\bash.bashrc (具體路徑以你安裝的爲準)文件,在末尾追加一行:
export LC_ALL=en_US.UTF-8
並保存,重啓終端就好了。
將Bash集成到IDEA(或Android Studio)等JB全家桶中
有些同學可以習慣於使用IDE內部的Terminal,這樣就不用切來切去。很簡單其實,左上角File,然後Settings,找到Terminal這一項設置,把原來的cmd.exe改成sh的全路徑即可:"C:\Git\bin\sh.exe" -login -i
如何從任意文件夾目錄下啓動Bash
我們都知道Ubuntu這種Linux發行版都有在文件夾空白處鼠標右鍵打開終端的功能,這個很方便,不用手動cd。其實Windows也可以的。需要手動配置一下注冊表,具體可以直接參考:新發布的Windows Terminal如何添加到右鍵菜單?
當然,如果不想修改這些的話,我們也可以在資源管理器的地址欄中輸入wt,同樣能打開。快速鎖定地址欄焦點的快捷鍵是 Ctrl + L
,和鼠標單擊效果一樣:
然後輸入 wt 再回車就打開啦:
Bash記不住history怎麼辦
使用過程中會發現,直接關閉Windows Terminal是不會記住bash歷史記錄的,但如果通過 exit
命令來退出就可以。不過這樣每次都輸入命令太麻煩了。沒關係,有解決辦法,很簡單!
打開Git安裝目錄下的 C:\Git\etc\bash.bashrc (具體路徑以你安裝的爲準)文件,在末尾追加內容:
HISTFILESIZE=400000000
HISTSIZE=10000
PROMPT_COMMAND="history -a"
export HISTSIZE PROMPT_COMMAND
shopt -s histappend
題外話
本文正文已經結束啦!這裏給大家安利一個Windows上的小工具。我發現Windows沒有類似Linux和Mac上的同應用間切換的快捷鍵,即 Alt + ~
,在打開很多相同程序的窗口時,如果僅僅是用Win自帶的 Alt + Tab
實在是太麻煩了。
恰好這個古董小軟件居然還能用在Win10上:Easy Window Switcher
還有上面提到的JetBrains官方字體(免費),也不錯的,推薦給大家:JetBrains Mono