专栏首页云原生生态圈打造 Mac 下高颜值好用的终端环境

打造 Mac 下高颜值好用的终端环境

最近有很多朋友看了我的文章之后,问我你终端是怎么设置的,为什么如此炫酷,这这这...让我怎么说,难道我的文章不干吗?还是特干看不下去了?好吧,今天趁着周末给大家分享一下,如何设置一个你认为很高大上的终端,对于常用终端的发烧友来说无疑是一篇值得收藏的好文章,哈哈

想要配置这么高大上的终端?你需要安装一个叫做Iterm的远程连接工具,官方说是macOS Terminal Replacement,对的,你的电脑必须是Macos系统才可以,接下来我们一步一步的教你如何配置一个令你心仪的iterm,首先我们需要掌握一下基础的东西,然后在自定义一些喜欢的东西。

前期准备

安装Iterm2

官网[1]下载好iterm2的二进制文件,然后直接拖放到Macos系统的Application的文件夹内,然后你就可以在启动台launch里面找到Iterm了。安装完成之后,打开软件,以下的操作均在iterm2上操作

配置oh-my-zsh

现在我们就需要配置一个神助工具oh-my-zsh来让你的Iterm2起飞,最开始的时候,你的iterm是这样的

下面,我们修改默认的bashzsh,这里要注意的是,后期需要做一些命令别名,环境变量的时候,就不再是以前的bashrc等了,应是~/.zshrc或者/etc/zshrc啦。

brew install zsh # 安装zsh
chsh -s /bin/zsh

如果你想要修改回来

chsh -s /bin/bash

修改之后,我们通过wget或者curl的方式下载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 -)"

执行完之后,就如下所示:

实际上,就是通过curl或者wget的方式将oh-my-zsh的代码仓库克隆到你的家目录下~/.oh-my-zsh

提供字体支持

接下来我们需要安装一些字体,这些字体提供了某些oh-my-zsh主题的特殊字符的支持,在美化配置上是必不可少的。

git clone https://github.com/powerline/fonts.git --depth=1
# clone
git clone https://github.com/powerline/fonts.git --depth=1
# install
cd fonts
./install.sh
# clean-up a bit
cd ..
rm -rf fonts

安装好之后,选择一款Powerline字体了:iterm2 -> Preferences -> Profiles -> Text -> Font -> Change Font(我用的是nerd-fonts[2]因为该字体支持非 ASCII 码字体,如下图所示),当你的终端在配置主题之后,出现了乱码,那么你的字体一定是没有选对,这里需要使用powerline系列的字体,这是需要注意的地方。如果你需要安装nerd-fonts,直接使用brew即可

brew tap caskroom/fonts
brew cask install font-hack-nerd-font
美化iterm2

一些特别吸引眼球的美化设置都是通过在主题的基础上自定义修改实现的,默认的oh-my-zsh使用的主题是ZSH_THEME="robbyrussell",个人并不好看,下面我们自己选择一个合适的主题,我们可以在/Users/marionxue/.oh-my-zsh/themes下面查看默认提供的主题。而配置文件就是我们之前提及到的~/.zshrc文件,

我们打开该文件找到ZSH_THEME="robbyrussell",然后修改robbyrussell为你喜欢的主题即可,我这里使用的是ZSH_THEME="agnoster"不过我也推荐这个主题。记得每次修改~/.zshrc文件之后,需要source ~/.zshrc让配置文件生效,我们看一下效果图:

但是看起来比较单调,不是那么的高大上啊,于是有些人在网上肯定发现过以下这种样式,看起来相对比较完美,研究一下下面这种图的做法:

仔细观察,命令提示符左侧显示的是git的分支,后侧显示的执行结果状态、执行命令的数量以及时间,这是一个比较流行的第三方 PowerLevel9k[3] 开源主题,我们将其下载到~/.oh-my-zsh/custom/themes下,详细的配置设置参考github上的文档:

cd ~/.oh-my-zsh/custom/themes
https://github.com/bhilburn/powerlevel9k.git

修改配置文件中的主题设置为:

ZSH_THEME="powerlevel9k/powerlevel9k"

然后配置git,historytime

POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(context dir vcs)
POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(status history time)

这样就完成了上图的配置。当然你可以设置一些带有icon的模式比如:

POWERLEVEL9K_MODE='nerdfont-complete'

效果如下:

你也可以自已定义一些背景颜色,你可以通过执行一下命令获取配色

spectrum_bls # 显示前配色
spectrum_ls # 显示后配色

美化进阶

这里就是美化终端的基本操作,下面我们看一下如何在原有的基础上配置一下自己喜欢的icon和插件:

红色框

红色框是iterm的资源状态栏,你可以在iterm2中使用快捷键command+,或者菜单栏打开首选项,进行设置,后面就不在赘述如何打开了,

点击configure status bar将需要的托放在下面既可

青色的?

青色的?是一个emoji.可以利用touchbar填充上去,可以写文字

黄色的目录

这里是安装的一些高效易用的插件

  • git-open[4]: 一个快捷工具,当你cd到一个版本化的代码仓库目录下,执行git-open会自动打开浏览器并跳转到该代码仓库地址
  • zsh-autosuggestions[5]:这是一个自动提示之前执行过的命令历史
  • zsh-syntax-highlighting[6]:这是一个zsh语法高亮的插件

这些插件安装配置简单,只需要clone对应的代码仓库到/Users/marionxue/.oh-my-zsh/custom/plugins下,然后在.zshrc配置文件下的plugins处配置上即可,注意我这里使用的是agnoster主题。

cd ~/.oh-my-zsh/custom/plugins
git clone https://github.com/paulirish/git-open
git clone https://github.com/zsh-users/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting

vim ~/.zshrc
plugins=(
   git
   zsh-syntax-highlighting
   zsh-autosuggestions
   git-open
)

最后是配置生效

source ~/.zshrc
蓝色框内的配置

这里是通过agnoster主题加上一些自己修改的主题实现的。然后结合~/.zshrc配置命令行提示符的显示,你可以在emoji网站1[7]emoji网站2[8]上找到对应的Bytes

其中的devclusterkube-ops是我的k8s集群的集群名以及对应的命名空间,这里是利用kubectxkube-ps1实现的,具体的你可以参考,下面是我的部分配置文件

ZSH_THEME="agnoster"
DISABLE_AUTO_UPDATE="true"
DISABLE_UPDATE_PROMPT="true"
plugins=(
   git
   zsh-syntax-highlighting
   zsh-autosuggestions
   kubectl
   kube-ps1
   git-open
)
KUBE_PS1_SYMBOL_ENABLE=false
KUBE_PS1_PREFIX="\u2638\uFE0F  "
KUBE_PS1_SUFFIX=" "
KUBE_PS1_DIVIDER="\xf0\x9f\x94\xa5 "
PS1='$(kube_ps1)'$PS1

好了,到这里就结束了,希望你能有所收获~

参考资料

[1]

iterm2官网: https://www.iterm2.com/

[2]

nerd-fonts: https://github.com/ryanoasis/nerd-fonts

[3]

PowerLevel9k: https://github.com/bhilburn/powerlevel9k

[4]

git-open: https://github.com/paulirish/git-open

[5]

zsh-autosuggestions: https://github.com/zsh-users/zsh-autosuggestions

[6]

zsh-syntax-highlighting: https://github.com/zsh-users/zsh-syntax-highlighting

[7]

emoji网站: https://apps.timwhitlock.info/emoji/tables/unicode

[8]

emoji网站2: https://www.iemoji.com/view/emoji/1768/symbols/wheel-of-dharma

本文分享自微信公众号 - 云原生生态圈(CloudNativeEcoSystem),作者:Marionxue

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-06-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Prometheus监控系列-部署篇

    Prometheus是继kubernetes第二个从CNCF中毕业的项目,个人也是非常的喜欢这款通过数据指标发现和预测告警的开源监控平台,官方的话就不多说了,根...

    云原生生态圈
  • 轻松爬取拉勾网招聘岗位信息

    最近发现一些朋友想要跳槽,正值疫情,也不知道现在市场的如何,同时目前的IT行业更是越来越难,技术革新越来越快,对新的岗位的需求也是不断的变化,因此就会想知道现在...

    云原生生态圈
  • jenkins动态slave在k8s上的实践

    Jenkins 安装完成了,接下来我们不用急着就去使用,我们要了解下在 Kubernetes 环境下面使用 Jenkins 有什么好处。

    云原生生态圈
  • 中国程序员容易发音错误的单词

    芋道源码
  • [Linux]Centos7 zsh一键安装脚本

    大多数的Linux用户偏爱Bash,因为发行版通常默认的就是它。 Bash确实是不错的Shell,但仍有用很多不尽人意的地方,如自动补全的功能不够强大,定位较...

    繁花云
  • 学web前端开发写给新手的建议,超实用!

    如今我们使用的互联网,客户端与服务器端的交互无时无刻不在发生。比如我们在浏览器打开网页,浏览器就是客户端,将网页数据发过来的也就是服务器。其实服务器,并没有什么...

    企鹅号小编
  • 抢程序员饭碗?自动写代码的Deep TabNine真如此神奇?

    据外媒 The Verge 报道,Deep TabNine 是由滑铁卢大学的计算机科学本科生 Jacob Jackson 创建的编码自动完成器,程序员可以将它作...

    AI科技大本营
  • 抢程序员饭碗?自动写代码的Deep TabNine真如此神奇?

    在过去的一年中,AI 生成书面文字的能力大大提高。通过扫描庞大的文本数据集,机器学习软件可以生成从短篇小说到歌词的各种令人信服的样本。现在,一个名为 Deep ...

    量化投资与机器学习微信公众号
  • 基于FPGA的非线性滤波器(一) 之概述

    一类比较重要的非线性滤波器就是统计排序滤波器。 统计排序滤波器对窗口内的像素值进行排序并通过多路选择选择器选择排序后的值,例如中值滤波、最大/最...

    瓜大三哥
  • Python3.5 图像处理 Pillo

    PIL的官方版本,但是最后一次维护是2009年,现以宣布停止维护,可以运行在python2.7上。

    py3study

扫码关注云+社区

领取腾讯云代金券