zoukankan      html  css  js  c++  java
  • Mac 终端 Termial 高亮配置(PS1变量配置)

    操作环境:

    • 系统:Mac 10.12
    • 编辑器:vim

    一、无脑配置:

    1. 打开中端输入:

    vi ~/.bash_profile

    2. 打开并编辑 .bash_profile 文件:

    按键盘“i”,进入编辑模式

    复制如下代码:

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

    按ESC——》按“w”再按“q”——》重启终端——》完成!

    二、高级操作:

    转义字符:

    上面的例子中使用了反斜杠转义的字符序列,通知bash用特定的值替换他们,bash可识别的转义序列有下面这些:

    • u 用户名
    • h 主机名第一部分
    • H 主机名全称
    • w 当前工作目录(如 “/home/username/mywork”)
    • W 当前工作目录的“基名 (basename)”(如 “mywork”)
    •  24 小时制时间
    • T 12 小时制时间
    • @ 带有 am/pm 的 12 小时制时间
    • d “Sat Dec 18″ 格式的日期
    • s shell 的名称(如 “bash”)
    • v bash 的版本(如 2.04)
    • V Bash 版本(包括补丁级别)
    • 换行符
    •  回车符
    • \ 反斜杠
    • 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;40mw> "
    到现在为止,提示行尽管已经很不错了,但仍不太完美。在 bash 显示出工作目录以后,我们需要使用 "e[0m" 序列将颜色重新设置为正常值。
    PS1="e[32;40mw> e[0m"
    这个定义将显示一个漂亮的绿色提示行,但仍需要做一些扫尾工作。有时我们不需要包括 "40" 这个背景颜色设置,因为它将背景设置为黑色,而黑色是默认颜色。此外,绿色还很暗;我们通过添加一个 "1" 颜色代码来修正这个问题,这将启用更亮的加粗文字。除了这个修改之外,还需要将全部非打印字符用专用的 bash 转义序列 "[""]” 括起来。这两个序列通知 bash,被括起来的字符不占用行上的任何空间,这样就使自动换行能够继续正常工作。没有这两个转义序列,尽管我们有了一个非常漂亮的提示行,但是如果键入的命令恰好到达终端的最右端,就会造成显示混乱。下面是最终的提示行:
    PS1=”[e[32;1m]w> [e[0m]”
    我们也不用担心在同一个提示行中使用几种颜色,就像下面这样(我的颜色配置):
    PS1=[e[36;1m]u@suse:[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:wa”,最后配置完成的结果就是:
    PS1=”[e]2;u@h:wa][e[36;1m]u@suse:[e[32;1m]w[e[36;1m]> [e[0m]”

  • 相关阅读:
    Codeblocks的常用Debug快捷键
    大整数乘法(POJ2389)
    简单深搜
    Windows安装时的几个命令(摘录)
    模拟栈的回溯,完全二叉树搜索,(ZOJ1004)
    生理周期,POJ(1006)
    next_permutation,POJ(1256)
    计算次数,POJ(1207)
    模拟,找次品硬币,Counterfeit Dollar(POJ 1013)
    深搜(DFS),Image Perimeters
  • 原文地址:https://www.cnblogs.com/wangchaowei/p/6964478.html
Copyright © 2011-2022 走看看