美化Mac终端

使用figlet、lolcat和oh-my-zsh美化Mac终端

摘要:实现开启动画和自定义ohmyzsh主题,需要一定基础

关键词: figlet lolcat ohmyzsh macos

我使用的终端shell是zsh,如果你使用其他shell(如bash),只需要将下文中的zshrc替换成bashrc,依旧可以定义你的欢迎页,但是无法使用oh-my-zsh。

一、欢迎页

使用figlet和lolcat

  1. figlet可以将普通终端文本转换为大字母
    http://www.figlet.org/examples.html 可查看所有字体样式
    安装命令 brew install figlet

  2. lolcat可以为输出的文本添加彩虹般的色彩,我们可以通过管道将这两个命令联合起来
    安装命令 gem install lolcat (可能需要更新ruby)

1
2
# welcome words
figlet -f isometric3 helloworld | lolcat -a -d 1

可以在终端中先试试效果,然后再在 .zshrc 文件中加入

-f 表示要选择的字体(见上面连接), helloworld 表示要显示的字,-a表示动画,-d 1表示动画时长。两个命令具体怎么玩执行一下--help就知道了

其他有趣的命令:fortunecowsay

使用系统配置motd

http://www.asciiworld.com 这个网站有很多图案

1
sudo pico /etc/motd

修改后执行Ctrl+X,输入y后回车

注意:motd会比.zshrc先执行,如果你两个方法都用了,则会先显示图案,再显示helloworld

二、oh-my-zsh

安装命令 sh -c "$(wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"

这是我自己改的主题,基于robbyrussell.zsh-theme。普通用户显示%,root显示#。最左边的箭头如果是绿色则表示命令正确执行,红色则表示上一条命令出错。右边的{master}是git的分支,黄色的x表示有未提交的修改,没有则不显示。
https://github.com/ohmyzsh/ohmyzsh/wiki/Themes 可以去官方看所有的主题风格
想了解.zsh-theme的简单语法可以看看我的另一篇博客

1
2
3
4
5
6
7
PROMPT="%(?:%{$fg_bold[green]%}➜ :%{$fg_bold[red]%}➜ )%{$fg[cyan]%}%c %{$fg[yellow]%}%#%f "
RPROMPT='$(git_prompt_info)%F{green}%T%f'

ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[blue]%}(%{$fg[red]%}"
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%})%{$fg[yellow]%}✗"
ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%}) "

执行以下步骤:

1
2
3
4
5
6
cd ~/.oh-my-zsh/themes/
vi robb2.zsh-theme
# 文件名随便,然后把上面的代码复制进去
vi ~/.zshrc
# 找到并修改ZSH_THEME="robb2"
source ~/.zshrc # 或者重新打开一个终端就能看到最上面的效果图了

参考

Linux在终端打开app,自定义linux终端打开方式
个性化定制Mac终端欢迎页