目標(biāo)
不折騰德撬,本著實(shí)用的原則,裝一個(gè)zsh躲胳,并使用oh-my-zsh的配置蜓洪,讓它看上去跟mac差不多,使用體驗(yàn)也差不多坯苹。
電腦是用來(lái)用的隆檀,不是用來(lái)折騰的,一切對(duì)于效率提升沒(méi)有幫助的美化,都是耍流氓恐仑,有這功夫還不如出去撩撩妹泉坐,和現(xiàn)實(shí)中的朋友面對(duì)面聊聊天,比對(duì)著電腦打字有意思多了裳仆。
對(duì)比
我之前使用mac工作的坚冀,不得不說(shuō),各種體驗(yàn)確實(shí)很好鉴逞,也有了一些使用習(xí)慣〖悄常現(xiàn)在突然換到win10,還真是有點(diǎn)不適應(yīng)构捡。為了裝一個(gè)類(lèi)似mac的終端液南,我花了點(diǎn)時(shí)間學(xué)習(xí)了一下win10,可用的工具很多勾徽,但都沒(méi)有zsh用著順手滑凉,簡(jiǎn)單總結(jié)如下:
powershell
win10自帶,裝了powerline字體后喘帚,并啟用utf-8支持畅姊,繼續(xù)安裝oh-my-posh,再配合conemu吹由,可以讓它長(zhǎng)得很好看若未,但是沒(méi)有zsh,沒(méi)有g(shù)it alias倾鲫,git log時(shí)中文亂碼粗合,與vim集成時(shí)各種詭異的bug。
cmd
除了啟動(dòng)比powershell快乌昔,沒(méi)有啥其他特點(diǎn)了隙疚。
cygwin
Cygwin is a large collection of GNU and Open Source tools which provide functionality similar to a Linux distribution on Windows.
很多人在windows上都會(huì)推薦這個(gè),確實(shí)磕道,應(yīng)該是最好用的linux shell了供屉,但是在嘗試cygwin的時(shí)候,我已經(jīng)配置好了我的終端環(huán)境溺蕉,所以就沒(méi)有細(xì)細(xì)研究伶丐。網(wǎng)上已經(jīng)有很多關(guān)于cygwin的配置和美化方式,我就不再贅述了焙贷。
wsl
這是我覺(jué)得win10上最好的功能之一撵割,這是一個(gè)除虛擬機(jī)之外,windows上最真實(shí)的linux環(huán)境了辙芍,用來(lái)做測(cè)試啡彬、編譯等羹与,真的時(shí)非常棒。但是如果用作日常shell庶灿,它確實(shí)有幾個(gè)問(wèn)題讓我感覺(jué)不太順手纵搁。
- 部分功能不能和windows共享。比如java往踢,windows上安裝后腾誉,wsl里也得安裝,二者不通用峻呕,類(lèi)似的還有node利职、vim、git等瘦癌。
- 用戶(hù)主目錄與windows不一致猪贪,各種profile不能共享。雖然通過(guò)定制用戶(hù)主目錄可以解決讯私,但修改后仍然會(huì)有詭異的問(wèn)題热押,主要集中在文件權(quán)限上。
- git下文件格式不一致斤寇。如果在wsl中安裝了git桶癣,windows上也安裝了git bash,并且代碼在windows上的某個(gè)目錄下娘锁,那么在wsl下使用git status時(shí)牙寞,會(huì)出現(xiàn)所有文件都已被修改的情況,估計(jì)是windows和linux的換行符不一致導(dǎo)致致盟。
git bash
這是我覺(jué)得windows下最實(shí)用的終端工具了碎税,wsl的各種問(wèn)題在git bash下都不存在尤慰,除了沒(méi)有包管理工具馏锡,長(zhǎng)得寒磣點(diǎn),沒(méi)啥缺點(diǎn)伟端。
babun
初次使用杯道,有種驚艷的感覺(jué),開(kāi)箱即用责蝠,什么oh-my-zsh党巾、git、vim霜医、包管理齿拂,一應(yīng)俱全,啥都有肴敛,要說(shuō)唯一不足署海,安裝文件太大吗购,啟動(dòng)速度太慢,開(kāi)個(gè)babun砸狞,可以強(qiáng)制自己喝口水捻勉,上個(gè)廁所。
Git for Windows SDK
這是我想推薦的一款軟件刀森,相當(dāng)于git bash的加強(qiáng)版踱启,通過(guò)pacman進(jìn)行包管理,補(bǔ)充了git bash的不足研底。官方網(wǎng)站:https://gitforwindows.org/
安裝
官網(wǎng)默認(rèn)下載的是git bash埠偿,拖動(dòng)滾動(dòng)條到頁(yè)面的最低端,可以看到git for windows sdk的下載連接:
點(diǎn)擊下載榜晦,會(huì)得到一個(gè)3M多的自解壓exe:git-sdk-installer-1.0.7-64.7z.exe
雙擊文件胚想,選擇解壓目錄
解壓縮后會(huì)自動(dòng)開(kāi)始安裝,安裝過(guò)程實(shí)際上就是從git上把文件下載到本地芽隆,對(duì)于國(guó)內(nèi)用戶(hù)浊服,可以先設(shè)置好代理。
全部文件下載完成后胚吁,是這個(gè)樣子
雙擊mingw64.exe牙躺,進(jìn)入git for windows sdk
在桌面上創(chuàng)建一個(gè)快捷方式,在命令行窗口下腕扶,輸入
sdk create-desktop-icon
這樣就創(chuàng)建了桌面快捷方式孽拷,這種方法有個(gè)弊端,就是打開(kāi)git for windows sdk后半抱,默認(rèn)是根目錄脓恕,不是用戶(hù)主目錄,如果想打開(kāi)后自動(dòng)是用戶(hù)主目錄窿侈,可以修改剛剛創(chuàng)建的快捷方式
修改字體是必不可少的工序炼幔,首推 DejaVu Sans Mono for Powerline
至此,git for windows sdk安裝完畢史简,看上去和git bash是一樣的乃秀,但是增加了pacman包管理,有了pacman圆兵,我們就可以安裝各類(lèi)linux工具了跺讯。
簡(jiǎn)單配置
默認(rèn)界面雖然能用,但有了pacman的加持殉农,可以通過(guò)安裝zsh和tmux刀脏,得到更好的體驗(yàn)。
安裝zsh和oh-my-zsh
pacman -S zsh
oh-my-zsh的安裝請(qǐng)參考官方網(wǎng)站:https://github.com/robbyrussell/oh-my-zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
全部安裝完成后超凳,輸入zsh愈污,即可看到熟悉的界面了
安裝tmux
由于git for windos sdk和git bash默認(rèn)是單窗口應(yīng)用危队,沒(méi)有tab頁(yè),這可以通過(guò)tmux來(lái)解決钙畔。
pacman -S tmux
安裝完成后茫陆,輸入 tmux,進(jìn)入tmux界面擎析,再輸入zsh簿盅,即可愉快的使用git for windows sdk了
在工作到一半需要離開(kāi)的時(shí)候,可以直接關(guān)掉git for windows sdk窗口揍魂,下次再打開(kāi)后桨醋,直接輸入 tmux a,即可接著之前的工作繼續(xù)進(jìn)行现斋,方便喜最。
tmux的一個(gè)小坑
tmux安裝完成后,打開(kāi)vim庄蹋,會(huì)發(fā)現(xiàn)很別扭瞬内,顏色不對(duì)
解決方法:https://unix.stackexchange.com/questions/1045/getting-256-colors-to-work-in-tmux
原因在上面的鏈接里已經(jīng)詳細(xì)說(shuō)了,簡(jiǎn)單講限书,啟動(dòng)tmux的時(shí)候虫蝶,輸入:
tmux -2
這樣再啟動(dòng)vim的時(shí)候,顏色就正常了
總結(jié)
cygwin其實(shí)也能實(shí)現(xiàn)倦西,也許比git for windows sdk更簡(jiǎn)單能真,更方便,只不過(guò)我沒(méi)有時(shí)間再繼續(xù)對(duì)比和研究了扰柠,cygwin很成熟粉铐,網(wǎng)上有很多教程可以參考。
而git for windows sdk相關(guān)的文章卻不多卤档,所以我就花時(shí)間研究了下蝙泼。還有另外一種方法,直接修改 /etc/profile.d/git-prompt.sh 裆装,我覺(jué)得有點(diǎn)麻煩踱承,并且還需要配置profile實(shí)現(xiàn)各種oh-my-zsh下的alias,不如直接安裝zsh和oh-my-zsh省事兒哨免。
目前我只是輕度使用,尚未發(fā)現(xiàn)問(wèn)題昙沦,隨著使用的深入琢唾,肯定會(huì)遇到問(wèn)題,到時(shí)我會(huì)持續(xù)更新此文盾饮。