linux上设置git高亮
linux上設置git高亮
?公司的測試環境沒有配置cicd,每次只能自己去服務器上拉取代碼,編譯開發,吐槽一下,比較難用。而且我們的測試服務器的終端也是全黑的,很難用,前期項目開發比較緊張,沒有時間搞這個,忍了,最近稍微好點了,還是別將就了,改一下吧。這塊兒知識很少用,之前做過類似的工作,但是忘完了,這次重新走了一遍,記錄一下。
當前效果是
??當前整個屏幕都是黑白的,看起來很不舒服,路徑顯示的只是當前路徑,也不是全路徑,git status等也沒有彩色。
[dev@ksearch-test1 test]$ [dev@ksearch-test1 test]$ cd /deploy/test/ [dev@ksearch-test1 test]$ pwd /deploy/test想要達到的效果是
并且git status對應的能夠進行高亮顯示
處理邏輯
主體的方式一般都是通過PS1這種環境變量來實現
查了一下,git的官方有一個實現?;镜膶崿Fshell是
# git 設置 source /xxxx/git-completion.bash GIT_PS1_SHOWDIRTYSTATE=true GIT_PS1_SHOWCOLORHINTS=true source /xxxx/git-prompt.sh PROMPT_COMMAND='__git_ps1 "[\t][\u@\h:\w]" "\\\$ "'但是這樣的話分支高亮了,但是前面的路徑沒有高亮,效果差那么一點點。
這里的實現是通過PROMPT_COMMAND,PROMPT_COMMAND是一個特殊的變量,會在PS1,PS2,PS3,PS4之前執行,所以可以用它來設置這些PS,__git_ps1是在git-prompt.sh中設置的一個函數。翻開了一下對應的函數,其中確實有對PS1的設置,修改一下對應的設置。總共有兩處。
PS1="$ps1pc_start$ps1pc_end" PS1="$ps1pc_start$gitstring$ps1pc_end"修改為
PS1="\[\e[35;1m\]$ps1pc_start\[\e[0m\]$ps1pc_end" PS1="\[\e[35;1m\]${ps1pc_start}\[\e[0m\]$gitstring$ps1pc_end"這個顏色設置完變成了紫色,感覺不是很好看,最終選擇了青綠色,看起來更舒服
PS1="\[\e[36;1m\]$ps1pc_start\[\e[0m\]$ps1pc_end" PS1="\[\e[36;1m\]${ps1pc_start}\[\e[0m\]$gitstring$ps1pc_end"接著設置git
git config --global color.status auto于是就都變成帶顏色的了,這里可能對于顏色設置有點疑問
顏色設置
PS1設置字符顏色的格式為:
\[\e[F;Bm\].....\[\e[0m\] 或者 \[\033[F;Bm\].....\[\033[0m\]其中“F”為字體顏色,編號為30-37,“B”為背景顏色,編號為40-47,[\e[0m] 結束顏色設定。
“B”還可以設置其他格式,例如為1時,將顯示加亮加粗的文字,詳見下表
| 30 | 40 | 黑色 | 代碼 | 含義 |
| 31 | 41 | 紅色 | 0 | OFF |
| 32 | 42 | 綠色 | 1 | 高亮顯示 |
| 33 | 43 | 黃色 | 4 | underline |
| 34 | 44 | 藍色 | 5 | 閃爍 |
| 35 | 45 | 紫紅色 | 7 | 反白顯示 |
| 36 | 46 | 青藍色 | 8 | 不可見 |
| 37 | 47 | 白色 |
總結
以上是生活随笔為你收集整理的linux上设置git高亮的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ELK日志系统的写入优化
- 下一篇: 解决Linux因非正常关机或死机重启后进