win10下使用git for windows sdk快速搭建實(shí)用又美觀(guān)的終端

目標(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í)慣?,F(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。

powershell-oh-my-posh.png

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的下載連接:

git-for-windows-sdk-download.png

點(diǎn)擊下載,會(huì)得到一個(gè)3M多的自解壓exe:git-sdk-installer-1.0.7-64.7z.exe

雙擊文件,選擇解壓目錄

git-for-windows-sdk-setup.png

解壓縮后會(huì)自動(dòng)開(kāi)始安裝,安裝過(guò)程實(shí)際上就是從git上把文件下載到本地,對(duì)于國(guó)內(nèi)用戶(hù),可以先設(shè)置好代理。

git-for-windows-sdk-setup1.png

全部文件下載完成后,是這個(gè)樣子

git-for-windows-sdk-setup2.png

雙擊mingw64.exe,進(jìn)入git for windows sdk

git-for-windows-sdk-setup3.png

在桌面上創(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)建的快捷方式

git-for-windows-sdk-update-shortcut.png

修改字體是必不可少的工序,首推 DejaVu Sans Mono for Powerline

git-for-windows-sdk-update-font.png

至此,git for windows sdk安裝完畢,看上去和git bash是一樣的,但是增加了pacman包管理,有了pacman,我們就可以安裝各類(lèi)linux工具了。

git-for-windows-sdk-finish.png

簡(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,即可看到熟悉的界面了

git-for-windows-sdk-finish1.png

安裝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了

git-for-windows-sdk-finish2.png

在工作到一半需要離開(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ì)

git-for-windows-sdk-finish3.png

解決方法: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í)候,顏色就正常了

git-for-windows-sdk-finish4.png

總結(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ù)更新此文。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容