1. 程式人生 > >Mac 終端 Termial 高亮配置(PS1變量配置)

Mac 終端 Termial 高亮配置(PS1變量配置)

喜歡 格式 永恒 允許 換行符 顏色表 默認 但是 我們

操作環境:

  • 系統:Mac 10.12
  • 編輯器:vim

一、無腦配置:

1. 打開中端輸入:

vi ~/.bash_profile

2. 打開並編輯 .bash_profile 文件:

按鍵盤“i”,進入編輯模式

復制如下代碼:

export CLICOLOR=1
export PS1=\[\033[01;33m\]\u@\h\[\033[01;31m\] \W\$\[\033[00m\] 

按ESC——》按“w”再按“q”——》重啟終端——》完成!

二、高級操作:

轉義字符:

上面的例子中使用了反斜杠轉義的字符序列,通知bash用特定的值替換他們,bash可識別的轉義序列有下面這些:

  • \u 用戶名
  • \h 主機名第一部分
  • \H 主機名全稱
  • \w 當前工作目錄(如 “/home/username/mywork”)
  • \W 當前工作目錄的“基名 (basename)”(如 “mywork”)
  • \t 24 小時制時間
  • \T 12 小時制時間
  • \@ 帶有 am/pm 的 12 小時制時間
  • \d “Sat Dec 18″ 格式的日期
  • \s shell 的名稱(如 “bash”)
  • \v bash 的版本(如 2.04)
  • \V Bash 版本(包括補丁級別)
  • \n 換行符
  • \r 回車符
  • \\ 反斜杠
  • \a ASCII 響鈴字符(也可以鍵入 07)
  • \e ASCII 轉義字符(也可以鍵入 33)
  • \[ 這個序列應該出現在不移動光標的字符序列(如顏色轉義序列)之前。它使 bash 能夠正確計算自動換行。
  • \] 這個序列應該出現在非打印字符序列之後。

知道了全部的轉義序列,就可以對自己的終端提示符進行定制了。
顏色配置:
我們設計好提示符內容之後就可以給他們添加顏色,添加顏色就是添加終端(而不是 bash)可識別的專用轉義序列,以使它以彩色顯示文本的某些部分。標準 Linux 終端和 X 終端允許您設置前景(文字)顏色和背景顏色,如果需要,還可以啟用 “bold” 字符。有八種顏色可供我們選擇(用數字表示)。

  • ———————
  • 前景 背景 顏色
  • ———————
  • 30 40 黑色
  • 31 41 紅色
  • 32 42 綠色
  • 33 43 黃色
  • 34 44 藍色
  • 35 45 紫紅色
  • 36 46 青藍色
  • 37 47 白色

  • ————————
  • 代碼 含義
  • ————————
  • 0 OFF
  • 1 高亮顯示
  • 4 下劃線
  • 5 閃爍 #閃爍這個選項在我機子上沒反應,所以就沒有驗證,不知道是否可以哈
  • 7 反白顯示
  • 8 不可見

舉例:
現在我們可以依據上面的顏色表為提示符添加顏色啦:
下面的定義:
PS1=”\w> ”
變為:
PS1=”\e[32;40m\w> "
到現在為止,提示行盡管已經很不錯了,但仍不太完美。在 bash 顯示出工作目錄以後,我們需要使用 "\e[0m" 序列將顏色重新設置為正常值。
PS1="\e[32;40m\w> \e[0m"
這個定義將顯示一個漂亮的綠色提示行,但仍需要做一些掃尾工作。有時我們不需要包括 "40" 這個背景顏色設置,因為它將背景設置為黑色,而黑色是默認顏色。此外,綠色還很暗;我們通過添加一個 "1" 顏色代碼來修正這個問題,這將啟用更亮的加粗文字。除了這個修改之外,還需要將全部非打印字符用專用的 bash 轉義序列 "\[""\]” 括起來。這兩個序列通知 bash,被括起來的字符不占用行上的任何空間,這樣就使自動換行能夠繼續正常工作。沒有這兩個轉義序列,盡管我們有了一個非常漂亮的提示行,但是如果鍵入的命令恰好到達終端的最右端,就會造成顯示混亂。下面是最終的提示行:
PS1=”\[\e[32;1m\]\w> \[\e[0m\]”
我們也不用擔心在同一個提示行中使用幾種顏色,就像下面這樣(我的顏色配置):
PS1=\[\e[36;1m\]\[email protected]:\[\e[32;1m\]\w\[\e[36;1m\]> \[\e[0m\]
但是,當我們把這個配置寫入.bashrc文件後,會發現一個問題,那就是terminal的標題欄變成了一個永恒不變的“Termianl”了,這可能並不是我們希望的,默認的顯示用戶名、主機名和當前工作路徑(我比較喜歡這個默認的哈),我們可能希望把他配回來。其實配置標題欄和上面說過的配置提示符內容差不多,只是要加上:
\e]2;…\a
中間省略號就可以加我們想讓標題欄顯示的內容了。
例如我們把 ”\e]2;This is my terminal:>\a” 加進PS1變量中(當然也需要用”\[""\]“轉義序列括起來),標題欄中就會顯示 This is my terminal:>
我比較喜歡默認的方式哈,所以我就加進去了 “\e]2;\u@\h:\w\a”,最後配置完成的結果就是:
PS1=”\[\e]2;\u@\h:\w\a\]\[\e[36;1m\]\[email protected]:\[\e[32;1m\]\w\[\e[36;1m\]> \[\e[0m\]”

Mac 終端 Termial 高亮配置(PS1變量配置)