prompt解析
在osx系統下,對系統自帶的終端進行配色可以通過設置PS1環境變量來實現的
在osx系統下prompt的表示成
[\u@\h: ] \w \$
示例:
[elmman@192: ] ~ $
解析:
[ ]這個方括號是自己加的無意義符號
\u表示用戶(這裏是elmman)
@表示@(這裏是@)
\h表示host(這裏是192)
:也是個無意義符號(這裏是:)
\w表示當前目錄(這裏是~,即家目錄)
\$表示命令提示符(這裏是\$)
PS1的配色規則(即在shell當中顏色的表示碼)
默認 : \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
開始配色
首先,先爲終端選擇一款主題(這裏選擇homebrew的)。步驟如下
打開終端->Terminal->Preferences…(或者command + , )。也就是俗稱的偏好設置
在這裏的第一個下拉框選擇homebrew主題,然後直接退出,且重啓終端,這時候可以看到終端變成黑色背景、綠色字體的主題。(這纔剛開,還沒結束)
接下來就是配色了。
首先呢,舉個例子。我想把prompt改成上面示例的樣子
192: elmman ~ $ vim ~/.bash_profile
在.bash_profile文件最後添加如下代碼
export PS1='[\u@\h: ] \w \$ '
然後重啓終端,這時候你就可以看到終端變成下面這個樣子了
[elmman@192: ] ~ $
接着,我想把elmman用戶名變成紅色怎麼做?很簡單,就在\u前面加上[\e[01;31m]和\u後面加上[\e[00m]行了。
注:這裏需要特別注意到是顏色碼必須前後加上[]包圍起來,
不然終端可能會出現無法自動換行、或者tab鍵自動補全失效的情況
[elmman@192: ] ~ $ vim ~/.bash_profile
在.bash_profile文件修改PS1變量代碼
export PS1='[\[\e[01;31m\]\u\[\e[00m\]@\h: ] \w \$ '
還是重啓終端,這是就可以看到
總結下:也就是想給哪個字段配色就只需要在其前面加上shell顏色碼即可,當然還得在字段後面帶上\e[00m表示後面的字段還是使用默認。不然就會變成什麼樣?自己可以去試試。
最後以下是本人自己的配色方案,(這裏多了兩個參數CLICOLOR和LSCOLORS)。
CLICOLOR=1表示開啓命令行顏色設置。
LSCOLORS=gxfxcxdxbxegedabagacad這個參數是對ls命令展示的內容進行配色,google下就有很多關於這個環境變量的解釋,這裏不在贅述。
export CLICOLOR=1
export LSCOLORS=gxfxcxdxbxegedabagacad
export PS1='\[\e[01;33m\][\[\e[01;32m\]\u\[\e[01;33m\]@\[\e[01;35m\]\h:\[\e[01;33m\]] \[\e[01;36m\]\w \[\e[01;32m\]\$ '
效果圖
vim語法高亮
vim語法高亮就比較簡單了,只需要爲vim開啓語法高亮功能,再選擇一款好看一點的主題就行來
首先開啓語法高亮功能
[elmman@192:] ~ $ vim ~/.vimrc
在.vimrc文件末尾添加如下代碼
syntax on
然後隨便打開一個php(或其他語言的代碼文件),就可以看到
選擇主題
上面系統默認的主題可能不滿意,我們可以找到vim的color主題目錄
cd /usr/share/vim/vim73/colors/ && ls
vim自帶的一些主題包就都在colors這個目錄下了(不同電腦目錄可能不一樣~~~)
假設想要darkblue這一款的主題
[elmman@192:] ~ $ vim ~/.vimrc
然後在末尾添加代碼
colorscheme darkblue
再打開一個代碼文件查看下效果
懶人copy
終端prompt配色
vim ~/.bash_profile
末尾添加(加完保存退出,重啓終端)
export CLICOLOR=1
export LSCOLORS=gxfxcxdxbxegedabagacad
export PS1='\[\e[01;33m\][\[\e[01;32m\]\u\[\e[01;33m\]@\[\e[01;35m\]\h:\[\e[01;33m\]] \[\e[01;36m\]\w \[\e[01;32m\]\$ '
vim語法高亮
vim ~/.vimrc
末尾添加
syntax on
colorscheme darkblue