很多玩GNULinux的朋友,都有個深刻映象:CentOS、Ubuntu、Mint、Debian、Manjaro、ElementrayOS、Deepin等一眾發行版,終端CLI在顯示的時候,都用顏色來區分不同類型的文件。然而MacOS和Windows這兩離經叛道的傢伙,醉心於GUI多年,CLI則被他兩永遠玩成了」白加黑「與」黑加白「。

很多習慣了Linux發行版CLI顏色的人,轉到MacOS後會很不習慣。其實,MacOS內核也是脫胎於BSDUnix,算起來,MacOS和GNU的Linux還是近親!既如此,那有沒有什麼辦法能讓MacOS終端的CLI也能像GNULinux的很多發行版一樣擁有顏色呢?

答案是:可以的。只需要在MacOS的配置文件中插入幾條命令,保存即可。

那麼簡單?是的。下面我就把這個方法分享給大家。

放幾張效果圖:

我在鏡像問題的回答:

程序員怎麼配置Mac的終端??

www.zhihu.com
圖標

1、要想給MacOS終端CLI配色,就必須學習類Unix終端CLI顏色指代的文件類型(比如藍色是目錄,綠色是可執行程序)類Unix一切皆文件,文件共分7種類型,7種類型的文件分別由不同的顏色指代:

(1)普通文件類型,ls -l 帶-的類型,一般為終端默認的字體顏色,其中,可執行程序(二進位文件)字體為青綠色、壓縮文件字體為紅色:

Linux中最多的一種文件類型, 包括 純文本文件(ASCII);二進位文件(binary);數據格式的文件(data);各種壓縮文件.第一個屬性為 [-]

(2)目錄文件,ls -l 帶d的類型,字體顏色是藍色:

就是目錄, 能用cd 命令進入的。第一個屬性為 [d],例如 [drwxrwxrwx]

(3)塊設備文件,ls -l 帶b的類型,字體顏色是黃褐色:

塊設備文件,就是存儲數據以供系統存取的介面設備,例如硬碟/dev/hda1等文件。第一個屬性為 [b]

(4)字元設備,ls -l 帶c的類型,字體顏色是黃色:

字元設備文件:即串列埠的介面設備,例如鍵盤、滑鼠等等。第一個屬性為 [c]

(5)套接字文件,ls -l 帶s的類型,字體顏色是粉紅色:

這類文件通常用在網路數據連接。可以啟動一個程序來監聽客戶端的要求,客戶端就可以通過套接字來進行數據通信。第一個屬性為 [s],最常在 /var/run目錄中看到這種文件類型

(6)管道文件,ls -l 帶p的類型,字體顏色是青黃色:

FIFO也是一種特殊的文件類型,它主要的目的是,解決多個程序同時存取一個文件所造成的錯誤。FIFO是first-in-first-out(先進先出)的縮寫。第一個屬性為 [p]

(7)鏈接文件,ls -l 帶l的類型,軟連接字體顏色是藍青色,硬連接字體顏色是紅色。

2、了解完類Unix終端CLI配色指代的文件類型後,我們再來學習MacOS終端配色的知識

(1)想要讓自己的終端對各類文件使用顏色,那麼我們必須在自己的家目錄下創建配置文件

vim ~/.bash_profile
輸入以下代碼保存
export CLICOLOR=1
export LSCOLORS=ExGxFxdaCxDaDahbadeche

直接輸入以上代碼,保存即可,重新打開終端,ls就會有顏色了。

(2)這些export參數後面跟的數字和字母是什麼鬼?各位看官如果有興趣的話,還請繼續收看(若無興趣,就可以直接跳過以下類容啦)

export CLICOLOR=1 //這是打開終端配色的意思
export LSCOLORS=ExGxFxdaCxDaDahbadech //賦值號=後,2個字母為一組,共11組,每一組代表一種文件類型,而字母本身是顏色的意思

LSCOLORS=後,共22個字母,每個字母對應一種顏色。2個字母為一組,共11組。每一組代表一種文件類型。

11組文件類型的意思如下(英文很簡單,不過意思比漢語準確)

1. directory
2. symbolic link
3. socket
4. pipe
5. executable (可執行文件,x許可權)
6. block special
7. character special
8. executable with setuid bit set (setuid=Set User ID,屬主身份)
9. executable without setgid bit set
10. directory writable to others, with sticky bit
11. directory writable to others, without sticky bit

LSCOLORS=後面,跟了22個字母,1個字母就是一種顏色,2個字母兩個顏色。難道每一種文件類型有兩個顏色?

回答正確,LSCOLORS=後面,共11組字母,每組2個字母,兩個顏色。第一個字母為前景色,第二個字母為背景色。

行文到此,我們只要知道export LSCOLORS=後面每個字母的意思,就可以解釋下圖中字母所指代的文件類型顏色了

LSCOLORS中,各個字母代表的顏色如下,注意大小寫是有區別的:
a 黑色
b 紅色 代表壓縮文件或者壓縮包
c 綠色 代表可執行文件
d 棕色 代表塊文件
e 藍色 代表目錄
f 洋紅色
g 青色 代表鏈接
h 淺灰色
A 黑色粗體
B 紅色粗體
C 綠色粗體
D 棕色粗體
E 藍色粗體
F 洋紅色粗體
G 青色粗體
H 淺灰色粗體
x 系統默認顏色

改變蘋果終端CLI顏色的方法總結如下:

在自己MacOS的家目錄下建立.bash_profile配置文件,在該文件中配置兩行代碼:export CLICOLOR=1 、LSCOLORS=ExGxFxdaCxDaDahbadech

vim ~/.bash_profile
輸入以下代碼,保存即可
export CLICOLOR=1
export LSCOLORS=ExGxFxdaCxDaDahbadeche

3、修改蘋果終端的樣式與默認提示符的顏色

蘋果MacOS終端的大小默認是很難受的,長寬小,字體小,背景色難看。不透明。而且終端默認的提示符顏色還是終端的背景色(比如我的終端,背景色是黑色,字體顏色是白色。我的終端提示符,也應該是白色。怎麼會是藍青色+綠色呢?因為,我在.bash_profile文件中定製了提示符顏色)

可以打開終端按command + ,打開首選項,根據自己的喜好配置終端的字體、背景色等:

比如我創建了一個樣式叫Patrick_Dark,我的背景色是黑色,字體顏色是白色,沒錯,就是「黑加白」。然而我把字體放大到18磅,並且修改了終端行數和列數,這樣就可以把我的終端放大,弄成我喜歡的樣子。

接下來,就要修改終端提示符(用戶名顏色,主機名顏色、路徑顏色)顏色。如果不修改,終端提示符依然是字體默認色:「白色」,修改方法很簡單,還是在.bash_profile配置文件中加一條代碼,如下圖所示:

沒錯,就是export PS1=後面那一大群字元。解釋如下:

配置終端提示符顏色:
export PS1=[ 33[01;36m]u@h[ 33[01;32m] W$[ 33[00m]
顏色:
默認 : e[00m
黑色 : e[01;30m
紅色 : e[01;31m
綠色 : e[01;32m
黃色 : e[01;33m
藍色 : e[01;34m
洋紅 : e[01;35m
青色 : e[01;36m
白色 : e[01;37m

意義:
[ ]這個方括弧是自己加的無意義符號
u表示用戶
@表示@
h表示host
:也是個無意義符號
w表示當前目錄
$表示命令提示符

各位看官,可以根據上圖的顏色自選。

最後給堅持看完的小夥伴發個福利:我MacOS的Vim配置文件:

分享一下我的vim配置文件吧。vim可以靠插件實現IDE的效果,比較小眾。學習成本過於陡峭,加之網上介紹vim插件的文章也不少,我就不在這裡啰嗦了。反而我更推薦大家使用微軟的開源工具:VSCode寫代碼

vim ~/.vimrc
輸入下列參數,保存即可,默認C語言代碼可以按control+p補全關鍵字
syntax on " 自動語法高亮
set number " 顯示行號
set cindent
set smartindent " 開啟新行時使用智能自動縮進
set showmatch " 插入括弧時,短暫地跳轉到匹配的對應括弧
set ruler " 打開狀態欄標尺
:set mouse=a "在vim所有模式下開滑鼠,複製文檔就可以不包含行號了

好了,就分享到這吧。

若喜歡看我的文章,或有好的操作系統使用技巧,麻煩到我的知乎專欄分享交流。

惰惰猴玩兒電腦?

zhuanlan.zhihu.com圖標
推薦閱讀:

相关文章