WSL 是 Windows Subsystem for Linux 的簡稱
Win10很久以前就推出了WSL功能,我也一早就安裝了,但是由于實際上并沒有使用它來工作,因此也就是簡單的體驗一下。由于最近我有在家里工作的需求,擺兩臺電腦又很麻煩,所以干脆就試著深入使用一下WSL,看看它到底能不能用 ^ ^。
PS:想要讓Win10滿足工作需求,我實際上不只做了調教終端這一個事情,但是在這篇文章中我們只說這個一個事情
PS2:這邊文章中介紹的很多東西其實是Linux的內容。如果你想調教你的Linux終端,除了和windows圖形界面操作有關的部分之外,其他的都一樣
安裝WSL
打開Win10應用商店,搜索Ubuntu,進行安裝。安裝成功后,在開始菜單中輸入Ubuntu即可啟動linux終端。

PS:安裝部分不是我們的重點,我們假設你的安裝沒有問題
剛裝上以后的終端大概是這個樣子的:

zsh 和 oh-my-zsh
zsh是一個用來替換默認的bash的終端程序,用了zsh后,我們就可以通過配置和安裝插件享受到一個更加美觀和強大的終端。
然而,直接配置zsh比較繁瑣,因此我們要使用oh-my-zsh來輔助配置
官方介紹:
Oh My Zsh is an open source, community-driven framework for managing your zsh configuration.
簡言之,就是一個幫助你管理zsh的配置和插件的工具。
可以使用這個命令來安裝zsh和oh-my-zsh
sudo apt install zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
安裝成功后,我們就可以對zsh進行配置了。
顏色,主題和字體
zsh顏色主題和終端顏色主題 (Color Theme)
要讓我們的終端變得更加漂亮,要配置兩個部分:zsh主題(zsh theme)和終端的顏色主題(Color Theme)
由于使用了oh-my-zsh,修改zsh的主題很容易,只要編輯~/.zshrc文件,找到ZSH_THEME一行,改為agnoster即可

但是Windows默認終端的Color Theme改起來比較費勁,需要使用一個叫做colortool的工具。他是微軟自帶的一個修改終端配色方案的工具
首先在這里 下載:

下載
colortool.zip并解壓后,進入文件夾,按住shift并點擊右鍵選擇在此處打開Powershell窗口
在其中輸入
.\colortool.exe -d solarized_dark
回車后,關閉這個新打開的Powershell窗口,回到之前的WSL窗口,輸入如下命令以使zsh配置生效:
source ~/.zshrc
現(xiàn)在,你的zsh應該便漂亮了!

PS1: 更多關于colortool的資料可以看這里: https://blogs.msdn.microsoft.com/commandline/2017/08/11/introducing-the-windows-console-colortool/
PS2: 如果你對這個配色不滿意,可以在這里找到更多選擇:https://github.com/robbyrussell/oh-my-zsh#themes
安裝 FiraCode
看上面的圖可能你會注意到,雖然看起來顏色比較好看了,但是貌似有一些地方有很大的空白(比如master字樣的左端),感覺怪怪的?
其實這是有一些特殊字符沒有顯示出來導致的,這些字體在默認的windows中沒有。因此我們需要安裝一個叫做FiraCode的字體
點擊這里下載:https://raw.githubusercontent.com/tonsky/FiraCode/master/distr/ttf/FiraCode-Retina.ttf
下載后,打開它,點擊左上角的安裝按鈕

安裝后,對著終端窗口頂部菜單欄點擊設置,在終端設置里面找到字體選項,并應用這個新字體


點擊確定后,你的終端就可以使用完全體的主題了!

配置插件
使用zsh的另一個好處是可以安裝插件來增強終端的功能,而oh-my-zsh讓這個過程變得更加容易。
oh-my-zsh的插件都是配置在~/.zshrc文件中的plugins選項里。在括號中填寫插件名稱,并用空格隔開即可

插件推薦
z
oh-my-zsh自帶插件,開啟即可
快捷訪問常用目錄的插件,可以讓你非常方便的訪問經(jīng)常要使用的目錄
比如我經(jīng)常使用 cd ~/workspace/mpa-web,安裝后可以z m[tab][return]來快速訪問
PS: 剛裝上后需要輸入幾次正常的 cd 命令之后他才能搜集到足夠的信息整理出常用路徑
d
oh-my-zsh自帶插件,開啟即可
使用命令d列出歷史紀錄中10個最近的目錄,輸入數(shù)字可以直接跳轉
在跳來跳去配置環(huán)境時很有用,因為你往往不記得剛才的配置文件在哪個路徑里面

colored-man-pages
oh-my-zsh自帶插件,開啟即可
給man命令中的文檔加上一些語法高亮。man命令可以用來查看其他命令的文檔,比如man git就會展示git命令的介紹。使用這個插件之后可以讓這個文檔可讀性稍微好一點點

syntax-highlighting & zsh-autosuggestions
插件repo
https://github.com/zsh-users/zsh-syntax-highlighting/blob/master/INSTALL.md#oh-my-zsh
https://github.com/zsh-users/zsh-autosuggestions/blob/master/INSTALL.md
這兩個插件可以讓你在終端輸入命令時有語法高亮和自動補全。雖然放在了最后,但是這兩個插件才是zsh真正的killer plugin :p
使用同樣很簡單,先通過如下命令安裝:
cd ~/
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
然后和上面一樣,在 .zshrc 加上插件名即可。
上面所有插件都打開的話,~/.zshrc中應該這樣寫:
plugins=(z d colored-man-pages zsh-autosuggestions zsh-syntax-highlighting)
最后看一下效果


可是終端還是不如linux的好用?
盡管經(jīng)過了這么多配置,我們的終端還是運行在windows自帶的終端模擬器中,功能比較弱。對比Linux下的Guake等終端模擬器,缺少了諸如tab和全局喚起之類的功能。
所幸的是,Windows其實是有不錯的方案的,你如果想進一步優(yōu)化你的終端,可以試試 Cmder,他提供了tab和類似guake的全局快速喚出功能,能夠配置的選項也很多,同時也可以解決默認終端打開了其他程序(比如man nano 或 less)后就會變成默認字體的問題。
如果你們有興趣請留言告訴我,我會在這里繼續(xù)更新關于Cmder的配置。
擴展閱讀
https://medium.com/@jrcharney/bash-on-ubuntu-on-windows-the-almost-complete-set-up-1dd3cb89b794