绝美终端:Zsh(安装Oh My Zsh)

绝美终端:Zsh(安装Oh My Zsh)

Oh My Zsh is a delightful, open source, community-driven framework for managing your Zsh configuration. It comes bundled with thousands of helpful functions, helpers, plugins, themes, and a few things that make you shout…

“Oh My ZSH!”

Oh-My-zsh网站

1-Zsh是什么?

Z shell(Zsh)是一款可用作交互式登录的shell及脚本编写的命令解释器。Zsh对Bourne shell做出了大量改进,同时加入了Bash、ksh及tcsh的某些功能。

特性包括:

  • 可帮助用户键入常用命令选项及参数的可编程命令行补全功能,自带对数百条命令的支持
  • 可与任意Shell共享命令历史
  • 可在无需运行外部程序(如find)的情况下通过 文件扩展匹配文件
  • 改进变量/数组处理方式
  • 在单缓冲区内编辑多行命令
  • 拼写检查
  • 多种兼容模式(例如,Zsh可在运行为/bin/sh的情况下伪装成Bourne shell)
  • 可编程的命令行界面,包括将提示行信息显示在屏幕右侧并在输入过长指令时自动隐藏的功能
  • 可加载模块可提供额外支持:完整传输控制协议、Unix域套接字控制、FTP客户端及扩展数学函数。
  • 自带where命令,其与which命令类似,但是显示指定于$PATH中所指定指令的全部位置,而不是仅显示所使用指令的位置。
  • 目录名称。此功能可让用户设置快捷方式,(如~mydir,与~~user的工作方式相似)。

我认识Zsh是在macOS从bash转换为zsh的时候,最开始是好奇这个shell/bash/zsh到底有什么不同:终端有什么不同。后来发现了有Oh My Zsh的框架,主题倒是非常好看。

2-Oh-My-Zsh是什么?

Oh My Zsh is an open source, community-driven framework for managing your zsh configuration.

Oh My Zsh是一个开源的、由社区驱动的zsh管理框架。

Sounds boring. Let’s try again.

听起来没什么大不了的,来一起试一试。

Oh My Zsh will not make you a 10x developer…but you may feel like one.

Oh My Zsh不能让你变成10倍的开发人员,但你很可能有这个感觉。

Once installed, your terminal shell will become the talk of the town or your money back! With each keystroke in your command prompt, you’ll take advantage of the hundreds of powerful plugins and beautiful themes. Strangers will come up to you in cafés and ask you, “that is amazing! are you some sort of genius?”

当你安装好之后,你的终端界面将成为别人讨论的话题,不信给你钱!在命令提示符中的每次击键操作中,您将利用数百个功能强大的插件和精美的主题。陌生人会到咖啡馆来找你,问你:“这太帅了!你是不是天才?”

Finally, you’ll begin to get the sort of attention that you have always felt you deserved. …or maybe you’ll use the time that you’re saving to start flossing more often.

最后,你将开始得到你一直以来应该得到的关注……或者你将用省下来的时间多用牙线清洁下牙齿?

简单来说,Oh My Zsh就是一个用来管理zsh的一个框架,有许多的插件、主题还有庞大的社区支持。

截屏2020-07-13-22.51.50

3-Zsh的安装

在macOS中,新版已经自动把终端设置为Zsh了,如果没有,可以通过HomeBrew进行安装:

1
brew install zsh

苹果官方帮助页面:在 Mac 上将 zsh 用作默认 Shell


在Linux系统中:

  1. 查看内置shell:

    cat /etc/shells

    截屏2020-07-13-23.00.57

  2. 用包管理软件进行安装:

    sudo apt-get install zsh

  3. 安装Oh-My-Zsh:

    通过curl

    sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

    通过wget

    sh -c "$(wget https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"

    raw.github.com页面可能被DNS污染,国内用户自行解决

  4. 安装完成后会自动切换到Zsh

4-主题配置

内置了许多、各种各样的主题文件,详见官方Wiki

1
2
3
4
5
6
7
8
# 修改zsh配置文件
nano ~/.zshrc

# 修改主题文件指向
ZSH_THEME="robbyrussell"

# 重置Zsh配置
source ~/.zshrc

截屏2020-07-13-23.11.40

主题肯定是要自己改改的

1
2
# 以robbyrussell主题为例
nano ~/.oh-my-zsh/themes/robbyrussell.zsh-theme

截屏2020-07-13-23.21.23

主要是前两行我的配置参考:

1
2
PROMPT="%(?:%{$fg_bold[green]%}➜ :%{$fg_bold[red]%}➜ )"
PROMPT+="%{$fg[red]%}(%T)%{$fg[cyan]%}[%~]$ %{$reset_color%}"

可以自定义修改提示符,其中:

占位符 内容
%T 系统时间(时:分)
%* 系统时间(时:分:秒)
%D 系统日期(年-月-日)
%n 你的用户名
%B - %b 开始到结束使用粗体打印
%U - %u 开始到结束使用下划线打印
%d 你目前的工作目录
%~ 你目前的工作目录相对于Home的相对路径
%M 计算机的主机名
%m 计算机的主机名(在第一个句号之前截断)
%l 你当前的tty

效果如下:

截屏2020-07-13-23.37.49

5-后记

本文也算是我自己的一个记录,我比较习惯各个设备上的样式尽可能的保持统一,所以我需要在不同设备上安装Zsh,并且保持几乎一致的主题配置。

本篇文章可能干货不算很多,建议有兴趣的朋友去官方wiki网站查看一下更加详细的主题、插件配置方法。

如果自己写出了很漂亮的主题配置,欢迎下方评论留言一起分享哦~

打赏
  • 版权声明: 本博客所有文章除特别声明外,均采用 Apache License 2.0 许可协议。转载请注明出处!

请我喝杯咖啡吧~

支付宝
微信