【Mac】超详细的个性化终端(Terminal)颜色配置

一 默认设置的缺陷

Mac终端默认风格为Basic,白底黑字(黑暗模式下黑底白字)。导致输入很多命令后,想要寻找之前的命令提示行瞅瞎眼。

这里记录了终端个性化配色的设置过程,从偏好设置开始,到自定义命令提示行颜色自定义vim编辑器配色

二 终端偏好设置

打开终端,快捷键command + , 打开,或者菜单 “终端” – >“偏好设置” -> “描述文件”,打开如下设置窗口:
【Mac】超详细的个性化终端(Terminal)颜色配置

选择了Pro主题,并修改了一些默认配置:

  1. 字体为SF Mono,大小调整为14号。

  2. 文本不使用粗体,而使用粗体高亮。

  3. ANSI颜色,单击任一颜色可以打开调色板,修改了蓝色(明亮)的RGB等(不然之后文件夹显示颜色为默认蓝色,在黑色背景下难以看清)。
    【Mac】超详细的个性化终端(Terminal)颜色配置

  4. 光标勾选了闪动,方便看清光标位置。

三 命令提示行设置

3.1 实现个性化配置

先展示效果,清爽的命令提示行>_<,当前文件夹用红色突出显示:
【Mac】超详细的个性化终端(Terminal)颜色配置

配置过程如下:

  1. 按顺序输入上图命令,返回用户目录,显示所有文件(包括隐藏文件)。
$ cd ~
$ ls -ah
  1. 可以看到,博主已经有了一个 .bash_profile文件,它的作用是设置一些环境变量,当用户登录时,该文件仅仅执行一次!如果系统默认有该文件,那我们之后的操作都追加在原有内容之后,如果没有,就要自己创建了
  2. 输入如下指令,进入vim编辑器后按“i”进入插入模式。(还没习惯在vim编辑的话,可以接着按ESC :wq!保存退出,然后输入指令open .bash_profile在Mac自带的文本编辑里操作)。
$ vim .bash_profile

退出vim后
$ open .bash_profile
  1. 把下面ANSI转码控制的颜色配置粘贴到.bash_profile文件中,先实现效果,具体原理下一节说明。
export PS1='\[\033[01;32;01m\]\h:\[\033[01;31;01m\]\W \[\033[01;32;01m\]\u$\[\033[01;00;00m\] '	# 终端命令提示行格式及颜色
  1. 退出(command + q)重启Terminal就可以看到和博主一样的命令提示行配色了,(这里配置了背景透明,万一终端背景色发生了变化,也不会在命令提示行出现一个尴尬的底色)。

3.2 配置的原理

  • Mac中的一个重要的配置文件:

    • /etc/profile:每个用户登录时都会运行的环境变量设置。
    • ~/.bash_profile:专用于某个用户自己使用的shell信息,当用户登录时,该文件仅仅执行一次,默认情况下,它设置一些环境变量。
  • 要修改命令行提示符,我们通过环境变量PS1来达到目的(正如我们在3.1中所做的那样,PS1=……)。

    • 命令列表的参数,这些参数可以在我们上面配置的环境变量中找到。
参数 作用
\u 显示当前用户的用户名(user name)
\h 显示主机名(host name)
\W 显示当前工作目录的名字(work directory)
$ 显示$符作为提示符,如果用户是root的话,则显示#号
  • 我们来查看一下当前的PS1,就能理解上面的参数了,输入如下指令$echo echo $PS1,注意,这里要在我们还没有按照3.1修改.bash_profile时的情况下操作(注释掉个性化修改),不然输出的结果就是我们修改的内容
localhost:~ lemon$ $echo echo $PS1

Mac默认配置输出的结果是:
\h:\W \u\$
带代表Mac默认的终端命令提示行格式是:
主机名:目录 用户名$ 
  • 从默认的PS1输出看到,是没有文本颜色配置的。而文本终端的颜色可以使用“ANSI非常规字符序列”来生成,(正如3.1中 \[\033[01;32;40m\]\h等)。
    • \[ 和 \] 序列被用来封装这些非打印字符。
    • 一个 ANSI 转义编码以一个八进制033(这个编码是由 退出按键产生的)开头。
    • 其后跟着一个可选的字符属性(00:正常、01:黑体、04:下划线、05:闪烁、07:反转前景背景色)
    • 最后是一个指令。前景色;背景色。
'\[\033[01;32;01m\]\h'
意思就是: 
'\[这是一个ANSI编码[正常;前景色绿色;背景色透明 结束ANSI序列\]用户名'
字符序列 作用
\[、\] 封装这些非打印字符
\033 引导非常规字符序列
字符属性:00,01,04,05,07 正常,黑提,下划线,闪烁,反转前景背景色
m 设置属性,然后结束非常规字符序列

这里,给出大家一些颜色序列,可以修改3.1中的配色方案,设置自己喜欢的颜色。替换字符属性、前景色、背景色对应位置的字符即可。

前景色 字符属性为00 字符属性为01
30 黑色 深灰
31 红色 浅红
32 绿色 浅绿
33 棕色 黄色
34 蓝色 浅蓝
35 粉色 浅粉
36 青色 浅青
37 浅灰 白色
背景色 字符属性为00 背景色 字符属性为01
40 黑色 44 蓝色
41 红色 45 粉色
42 绿色 46 青色
43 棕色 47 浅灰

四 不同文件类型显示颜色配置

同样是在打开的.bash_profile文件中,粘贴下面的配置:

export CLICOLOR='Yes'	# 是否输出颜色
# export LS_OPTIONS='--color=auto'	# 不同文件类型颜色配置,自动选择颜色
export LSCOLORS='ExGxFxdaCxDaDahbadacec'	# 指定颜色,Linux配色方案
上一篇:在SAP Data Intelligence Modeler里测试data Generator graph


下一篇:windows server 修改远程端口