Mac自定义配置zsh shell终端

Version

Preface

今天在捣鼓git的时候,不小心发现了终端其实也是可以自定义配置的.
感觉挺有趣的.
下面分享下自己已经捣鼓成功的两个效果:
1,皮卡丘欢迎界面
2,自定义提示符


Content

1 确认Shell的版本为zsh

Shell是指Linux/Unix系统下的脚本语言,是用户和系统内核之间的桥梁.
Shell有很不同的版本,比如dush, bash, ksh, csh, tcsh.
cat /etc/shells可以查看自己电脑上存在的Shell版本.


此次自定义配置,仅适用于zsh.所以,我们需要确认我们使用的版本是否是zsh.
echo $SHELL,可以查看自己用的是否是zsh.

本文暂时假定各位都已经在使用zsh了.

2 配置启动欢迎图片

2.1 欢迎信息配置文件

/etc/motd文件,是专门用来存放终端启动时的欢迎信息的,感觉还是非常人性化了.
所以,我们只要在这个文件中复制粘贴自己喜欢的内容就可以啦.
需要注意的是,这个文件是只读的,所以,我们需要用sudo命令打开,才可以修改:
'sudo vi /etc/motd'
输入密码后,就可以进行修改了.

首先输入好我们想要显示的内容:
vi编辑器内容:



然后进入命令模式:wq,保存退出,重新打开一个终端,就能看到欢迎信息啦!

终端内容


如果我们想更换信息,vi中清空所有内容的方式为:
在命令模式下,输入:.,$d 然后回车.

2.2 欢迎图

等等,这样的欢迎信息,难道要我们一个一个自己敲么???

帅气温柔的小编,当然早就帮亲们提供了一些好的素材,总有一款是亲喜欢的哈!!

╭⌒╮ \ │ /
╭⌒╮ ─ ● ─
╭ ⌒╮╭⌒╮. / │ \ .╭⌒╮
.╭⌒╮. ╭ ⌒╮. ╭ ⌒╮.
╭ ⌒╮ ╭⌒╮ ╭⌒╮
*╱◥██◣.,'''**',
︱田︱田田| ╱◥██◣
╬╬╬╬╬╬ ︱田︱田田| ╬╬╬╬╬╬
    へ     /|
  /\7    ∠_/
  / │   / /
 │ Z _,< /   /`ヽ
 │     ヽ   /  〉
  Y     `  /  /
 イ● 、 ●  ⊂⊃〈  /
 ()  v    | \〈
  >ー 、_  ィ  │ //
  / へ   / ノ<| \\
  ヽ_ノ  (_/  │//
  7       |/
  >―r ̄ ̄`ー―_-
 く__,.ヘヽ.    / ,ー、 〉
     \ ', !-─‐-i / /´
      /`ー'    L//`ヽ、
     /  /,  /|  ,  ,    ',
   イ  / /-‐/ i L_ ハ ヽ!  i
    レ ヘ 7イ`ト  レ'ァ-ト、!ハ|  |
     !,/7 '0'   ´0iソ|   |   
     |.从"  ω   ,,,, / |./   |
     レ'| i>.、,,__ _,.イ /  .i  |
      レ'| | / k_7_/レ'ヽ, ハ. |
       | |/i 〈|/  i ,.ヘ | i |
      .|/ / i:   ヘ!  \ |
        kヽ>、ハ   _,.ヘ、   /、!
       !'〈//`T´', \ `'7'ーr'
       レ'ヽL__| JJ ンレ|ノ
         ト-,/ |___./
         'ー'  !_,.:  
/**
 * ┌─────────────────────────────────────────────────────────────┐
 * │┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐│
 * ││Esc│!1 │@2 │#3 │$4 │%5 │^6 │&7 │*8 │(9 │)0 │_- │+= │|\ │`~ ││
 * │├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤│
 * ││ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │{[ │}] │ BS  ││
 * │├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤│
 * ││ Ctrl │ A │ S │ D │ F │ G │ H │ J │ K │ L │: ;│" '│ Enter  ││
 * │├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤│
 * ││ Shift  │ Z │ X │ C │ V │ B │ N │ M │< ,│> .│? /│Shift │Fn ││
 * │└─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴──┬┴───┴┬──┴┬─────┴───┘│
 * │      │Fn │ Alt │         Space         │ Alt │Win│   HHKB   │
 * │      └───┴─────┴───────────────────────┴─────┴───┘          │
 * └─────────────────────────────────────────────────────────────┘

 *                Happy Hacking       auto coding
 */
 /**
 **************************************************************
 *                                                            *
 *   .=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-.       *
 *    |                     ______                     |      *
 *    |                  .-"      "-.                  |      *
 *    |                 /            \                 |      *
 *    |     _          |              |          _     |      *
 *    |    ( \         |,  .-.  .-.  ,|         / )    |      *
 *    |     > "=._     | )(__/  \__)( |     _.=" <     |      *
 *    |    (_/"=._"=._ |/     /\     \| _.="_.="\_)    |      *
 *    |           "=._"(_     ^^     _)"_.="           |      *
 *    |               "=\__|IIIIII|__/="               |      *
 *    |              _.="| \IIIIII/ |"=._              |      *
 *    |    _     _.="_.="\          /"=._"=._     _    |      *
 *    |   ( \_.="_.="     `--------`     "=._"=._/ )    |      *
 *    |    > _.="                            "=._ <    |      *
 *    |   (_/                                    \_)   |      *
 *    |                                                |      *
 *    '-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-='      *
 *                                                            *
 *           LASCIATE OGNI SPERANZA, VOI CH'ENTRATE           *
 **************************************************************
 */
/**
 *_______________#########_______________________ 
 *______________############_____________________ 
 *______________#############____________________ 
 *_____________##__###########___________________ 
 *____________###__######_#####__________________ 
 *____________###_#######___####_________________ 
 *___________###__##########_####________________ 
 *__________####__###########_####_______________ 
 *________#####___###########__#####_____________ 
 *_______######___###_########___#####___________ 
 *_______#####___###___########___######_________ 
 *______######___###__###########___######_______ 
 *_____######___####_##############__######______ 
 *____#######__#####################_#######_____ 
 *____#######__##############################____ 
 *___#######__######_#################_#######___ 
 *___#######__######_######_#########___######___ 
 *___#######____##__######___######_____######___ 
 *___#######________######____#####_____#####____ 
 *____######________#####_____#####_____####_____ 
 *_____#####________####______#####_____###______ 
 *______#####______;###________###______#________ 
 *________##_______####________####______________ 
 */

然后,这个网址可以将图片转化为字符画,大家可以玩玩:
https://www.fontke.com/tool/image2ascii/

还有大咖专门为这个文件成立了一个Github项目,大家有兴趣,可以将自己喜欢的图片放上去哈:
https://github.com/abcfy2/motd

其实,小编是想搞个Saber酱的,但是没有找到好的素材.
以后找到了,一定分享出来.

3 自定义提示符

3.1 默认的提示符样式

接下来,就是自定义提示符了.
其实格式符的提示信息是由变量PS1,或者PROMPT变量指定的,这两个变量的内容是一样的.
默认情况下,是这样的格式:


他的内容为:
%n@%m %1~ %#
其中:
%n是自己的用户名
@,原样输出@
%m,自己的机器名字
%1~,可能是当前路径,这个没有具体研究.
%#,这个也没具体研究.
所以,没有修改之前,我的命令提示符就是上面那个样子.

3.2 定位配置文件

本质上,只要我们修改了PROMPT(PS1等价,后面不再说明)变量的值,就能修改样式了.
使用zsh的终端,本次打开新的窗口,都会首先运行一个配置文件,载入相关的变量.
这个文件就是我们修改这个变量的最佳对象.
这个文件就是:~/.zshrc

注意,可能会有一些大佬想到了~/.bash_profile文件,这个文件是bash版本的终端会载入的配置文件. zsh版本并不会载入.

3.3 修改配置文件

下面就是修改配置文件了,我们用vi打开该文件:
vi ~/.zshrc

然后在打开的窗口中输入以下内容:

# Config Zsh
# Enable custom color 开启自定义颜色
autoload -U colors && colors
# Config PROMPT Variable 配置PROMPT变量
export PROMPT="%{%F{magenta}%}Master,give me your command :%{$reset_color%} "

其中
autoload -U colors && colors
是开启自定义颜色

然后关键的是配置PROMPT变量:
export PROMPT="%{%F{magenta}%}Master,give me your command :%{$reset_color%} "
1,export,是用来声明环境变量,这个声明具体有什么作用,以后再进一步研究,没搞清楚之前,就按照前人的做法来.
2,%{%F{magenta}%},是说明接下来的文字,用magenta(洋红)来显示.
可以设置的颜色值如下:


3,Master,give me your command :,这个是原样输出
4,%{$reset_color%},表示接下来的文字,恢复用默认颜色显示.

修改好保存之后,要立即生效,别忘了输入以下命令:
source ~/.zshrc
下面是一些转义变量的列表:

好了,本文就研究到这里.

Summary

关于oh my zsh

oh my zsh是一个封装好的配置zsh的插件.我在查资料的过程中,很多文章动不动就说下载oh my zsh,说实话,感觉不是很好.
这就有点像你在浏览网页,看见一个有兴趣的视频,然后点了一下,但是不能直接打开,提示你必须下载某app才能观看.
这种稍微扩展一下,就要用某某框架,某某插件,感觉还是太容易让人心累了.

Preference

Index:0000
Title: Mac终端命令行提示符格式更改方法
Url: https://www.dazhuanlan.com/2019/09/25/5d8b35db9a8ee/
Desc: 这篇文章介绍的方法应该是针对bash版本的shell的.对于zsh不适用.也希望各位大佬能说明清楚自己的环境,很多东西一样的问题,环境不一样,是不能用相同的方式解决的.

Index:0001
Title: 图片转字符画
Url: https://www.fontke.com/tool/image2ascii/
Desc: 将图片转换为字符画,用来制作欢迎界面.

Index:0010
Title: Mac自定义终端(Terminal)欢迎图案
https://www.jianshu.com/p/fddda86486df
Desc: 谢谢分享

Index:0011
Title: Zsh (简体中文)
Url: https://wiki.archlinux.org/index.php/Zsh_%28%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87%29#.E5.BD.A9.E8.89.B2
Desc:资料比较详细

Index:0100
Title: zsh 自定义命令提示符(PS1/ prompt)
Url: https://blog.csdn.net/u014218108/article/details/51195582
Desc: 谢谢分享

你可能感兴趣的:(Mac自定义配置zsh shell终端)