图文详解之ZSH美化你的终端CLI
在这个博客中,我将介绍安装ITerm2,ZSH shell,“我的ZSH”,主题,ITerm2配色方案,“我的ZSH”插件,并启用“连线”支持,以帮助创建一个美丽而强大的终端。
如果你想让你的常规Bash终端功能强大,请看看我之前的博客:“ Jazz Up Your Bash Terminal ”。但ZSH在这个博客中解释的是更强大的东西。
摘要:
我们将涉及很多事情。这可能令人困惑,所以这里是我们将要做的总结。
- 安装ITerm2 - 这是默认终端的更好替代方案
- 安装最新的ZSH shell - 这比常规的bash shell更强大。我们将切换ITerm2以使用ZSH shell。
- 安装“Oh My ZSH” - 这是一个CLI工具,可以轻松配置ZSH并向ZSH添加主题和插件
- 使用“Oh My ZSH”添加两种类型的主题 - 一些主题需要额外的步骤,因此我们将涵盖两者
- 安装不同的ITerm2方案 - 这些只是UI的颜色方案
- 使用“Oh My ZSH”添加两个不同的插件,以提高工作效率
- 启用“连字”支持,这样当你写一个箭头=>时,它就像一个真正的箭头→
步骤1-安装ITerm2
许多程序员喜欢ITerm2而不是默认终端。它类似于终端,但它有很多自己的功能。它当然可以在其中运行ZSH,Bash和其他shell。
以下视频显示了第2项(v3)的一些新功能。
对于这个博客,我们将使用ITerm2。当我提到“终端”时,我指的是ITerm2。虽然终端或ITerm2的步骤相同。
步骤2-将Shell更改为ZSH
以下视频显示了为什么ZSH优于bash shell。
选项1 - 使用Mac自己的ZSH:
Mac带有ZSH开箱即用,所以我们不需要安装它。但是,有时它是ZSH的旧版本。通常它位于/ bin / zsh。要使用它,我们需要做的就是更改shell(chsh)。
- 打开终端(或ITerm2)并键入以下命令。
$ chsh -s $(which zsh)
2.输入密码,它将在注销和登录时更改shell。
3. 注销并重新登录
4.要测试,请打开终端并键入以下内容,它应该说zsh。
$ echo $0
zsh //应该返回zsh
选项2-安装Homebrew并通过Homebrew安装最新的ZSH
这个选项在用户中很常见,因为有些插件只能使用最新的ZSH。
简单地说,Homebrew是各种软件的命令行安装程序。我们先安装一下。
- 通过运行以下命令安装Homebrew。
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
2.如果您获得Xcode命令行工具错误,则表示您尚未安装Xcode的CLI工具。如果您没有收到错误,可以跳过此步骤,因为您已经安装了它。
XCode Developer CLI工具由操纵核心OSX功能的各种应用程序使用。因此,请确保通过运行以下命令来安装Xcode CLI工具。
$ xcode-select —-install
注意:上面的命令打开Mac的安装程序并安装XCode Developer CLI工具。如果它不起作用,请尝试
xcode-select -r
重置。
3.通过Homebrew安装ZSH
运行以下命令以安装ZSH。它安装在/usr/local/bin/zsh
PS:Mac的默认ZSH是/bin/zsh
brew install zsh
4.使用自制软件版本的ZSH
运行以下命令。系统将提示您输入Mac的密码。
chsh -s /usr/local/bin/zsh
5.注销并重新登录。
6.测试我们是否使用ZSH和正确的ZSH
$ echo $0
zsh //correct
$ which zsh
/usr/local/bin/zsh //correct
第3步“哦,我的ZSH”
“哦,我的ZSH”是一个在ZSH上运行的插件。它为ZSH(〜/ .zhrc文件)提供默认配置,还提供主题和更多功能。
据我所知,大多数使用ZSH的高级用户也使用“Oh My ZSH”。
- 安装“哦我的ZSH”
运行以下命令安装“oh My ZSH”。
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
哦,我的ZSH已经安装好了
2.关闭并退出ITerm2并重新打开它。
它看起来应该如下所示。请注意,提示已更改,主题有点不同 - 这是“哦我的ZSH”为您操作。
初步哦我的ZSH主题
第4步 - 更改主题并安装字体
在这一步中,我们将添加两个不同的“Oh My ZSH”主题。“哦,我的ZSH”带来了大量的主题。PS:但有些主题需要额外的步骤,如安装特定的字体等。
要设置主题,只需打开〜/ .zshrc文件(由“Oh My ZSH”创建)并更改主题,如下所示。
PS:.zshrc是ZSH shell的配置文件。不使用“Oh My ZSH”的人必须手动创建此文件并自行添加任何配置。“哦,我的ZSH”会自动创建此文件(如果该文件不存在),然后将其自己的一组配置添加到此文件中。
主题1 - 让我们添加一个名为“ Avit”的主题
- 打开.zshrc
$ open ~/.zshrc
2.将主题更改为“Avit”
您可以在这里浏览所有“Oh My ZSH”主题。要更改主题,只需将〜/ .zshrc文件中的ZSH_THEME值从robbyrussell更改为Avit。
3.更新ZSH配置
运行以下命令以更新配置。
$ source ~/.zhrc
您在Avit Theme中的命令提示符
4.更改背景颜色和字体大小
打开ITerm2>首选项>配置文件>颜色并将背景黑色更改为使用20%灰色,如下所示。
使用20%灰色背景
然后打开文本>更改字体并将大小更改为14pt。
将字体更改为14pt
一个干净漂亮的Iterm2与ZSH!
好的,让我们安装一个需要字体的不同主题。
主题2 - 安装“agnoster”哦我的ZSH主题
这是一个受欢迎的主题,因为它模拟了增强终端的Powerline Python应用程序。下图显示了它的外观。但是这个主题还需要我们安装Powerline主题。
agnoster哦我的ZSH主题
1.安装Powerline fonts
$ git clone https://github.com/powerline/fonts.git
$ cd fonts
$ ./install.sh
2.将主题更改为“agnoster”
$ open ~/.zshrc
SetZSH_THEME="agnoster" and save the file
3.退出ITerm2并重新打开它。
4.设置电源线字体
您可以设置任何您喜欢的Powerline修补字体。所有字体都以“for Powerline”结尾。
打开ITerm2 > Preferences > Profiles > Text > Change Font
并将其设置为具有“for Powerline”的内容。我选择“Meslo LG DZ for Powerline”字体。
Meslo LG DZ for Powerline Iterm2字体
注意 - 如果您对字体和主题感到困惑:主题是“Oh My ZSH”和ZSH shell,字体是Iterm2本身。
全部完成
此时您的终端应如下所示:
第5步 - 安装iTerm2“配色方案”(ITerm2主题)
iTerm2有很多华丽的配色方案。这些方案会更改前景色,背景色,光标颜色等。你可以在iTerm2-color-schemes Github repo 找到它们。
注意:这些只是ITerm2 UI的颜色方案,并不处理命令提示符的外观和感觉,如“Oh My ZSH”的主题(除了更改颜色)。
请按照以下步骤安装它们。
- 下载iTerm2-color-schemes作为zip文件并解压缩
- “Schemes”文件夹包含所有颜色方案文件 - 它们以
.itermcolors
- 打开
iTerm2 > Preferences > Profile > Colors > Color Presets > Import
- 在导入窗口中,导航到“Schemes”文件夹(从步骤2开始)
- 选择所有文件,以便一次导入所有颜色方案
- 只需选择您喜欢的颜色方案即可。
我最喜欢的是蝙蝠侠和Argonaut
蝙蝠侠Iterm2主题
Argonaut颜色方案如下所示:
Argonaut配色方案
步骤6-安装插件
插件为您的工作流程添加了更多功能。默认情况下“哦我的ZSH”已经有了“git”插件!这就是为什么你能够在早期截图中的提示中看到所有这些Git状态的原因。让我们再添一个来看看它是如何工作的。
注意:在本节中,我们将安装两个不同的插件来展示它们的工作方式。
插件1 - 添加语法突出显示插件
Syntax Highlighting插件为您键入的命令添加了漂亮的颜色,如下所示。
- 克隆zsh-syntax-highlighting插件的repo并将其复制到“Oh My ZSH”插件目录。
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
2. ~/.zshrc
通过zsh-syntax-highlighting
在插件部分添加` 来激活插件,如下所示。
在插件部分的新行中添加一个新插件
3.重新读取zshrc配置
source ~/.zshrc
插件2 - 添加ZSH-AutoSuggestion插件
此插件自动建议任何以前的命令。非常方便!要选择完成,只需按→键。
- 安装插件
git clone https://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions
PS: ZSH_CUSTOM points to ~/.oh-my-zsh/custom
2.打开~/.zshrc
并添加zsh-autosuggestions
第7步 - 使用Ligature支持
有各种各样的字体可以帮助使操作员小于,等于,右箭头,不等于等等,看起来很漂亮。例如,每次键入:=>时,它变为:→。
要使用它,我们需要支持连字的字体。我们还需要在ITerm2中启用它。FiraCode就是这样一种字体。按照步骤安装和启用连字。
- 下载FiraCode仓库并解压缩zip文件(或克隆它)
- 打开
dstr > ttf
文件夹并双击所有*.ttf
文件,然后选择“安装字体”按钮以安装每个字体变体。 - 导航
ITerm2 | Preferences | Profiles | Text
- 选择
Use Ligatures
复选框 - 单击
Change Font
并选择Fira Code Regular
字体
摘要
我们已经在这个博客中介绍了很多,从安装最新的ZSH开始,通过Homebrew,Oh My ZSH,插件,主题,为FiraCode字体启用“连线”。
图文详解之ZSH美化你的终端CLI的更多相关文章
- HTML标签----图文详解
国庆节快乐,还在加班的童鞋,良辰必有重谢! 本文主要内容 头标签 排版标签:<p> <br> <hr> <center> ...
- CentOS 6.3下Samba服务器的安装与配置方法(图文详解)
这篇文章主要介绍了CentOS 6.3下Samba服务器的安装与配置方法(图文详解),需要的朋友可以参考下 一.简介 Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件, ...
- Cocos2d-x win7 + vs2010 配置图文详解
Cocos2d-x win7 + vs2010 配置图文详解 下载最新版的cocos2d-x.打开浏览器,输入cocos2d-x.org,然后选择Download,本教程写作时最新版本为cocos2d ...
- zookeeper的安装(图文详解。。。来点击哦!)
zookeeper的安装(图文详解...来点击哦!) 一.服务器的配置 三台服务器: 192.168.83.133 sunshine 192.168.83.134 sunshineMin 19 ...
- Hadoop集群搭建安装过程(三)(图文详解---尽情点击!!!)
Hadoop集群搭建安装过程(三)(图文详解---尽情点击!!!) 一.JDK的安装 安装位置都在同一位置(/usr/tools/jdk1.8.0_73) jdk的安装在克隆三台机器的时候可以提前安装 ...
- Hadoop集群搭建安装过程(二)(图文详解---尽情点击!!!)
Hadoop集群搭建安装过程(二)(配置SSH免密登录)(图文详解---尽情点击!!!) 一.配置ssh无密码访问 ®生成公钥密钥对 1.在每个节点上分别执行: ssh-keygen -t rsa(一 ...
- Linux虚拟机安装(CentOS 6.5,图文详解,需要自查)
Linux虚拟机的安装(图文详解) 下篇会接续Hadoop集群安装(以此为基础) 一.安装准备 VMWorkstation.linux系统镜像(以下以CentOS6.5为例) 二.安装过程详解 关闭防 ...
- 分享我开发的网络电话Android手机APP正式版,图文详解及下载
分享我开发的网络电话Android手机APP正式版,图文详解及下载 分享我开发的网络电话Android手机APP正式版 实时语音通讯,可广域网实时通讯,音质清晰流畅! 安装之后的运行效果: 第一次安装 ...
- 图文详解Unity3D中Material的Tiling和Offset是怎么回事
图文详解Unity3D中Material的Tiling和Offset是怎么回事 Tiling和Offset概述 Tiling表示UV坐标的缩放倍数,Offset表示UV坐标的起始位置. 这样说当然是隔 ...
随机推荐
- 将root 当成arraylist放入数据sturts2 入门笔记
刚启动idea 就报出错误 [-- ::,] Artifact -sturts2:war exploded: Error during artifact deployment. See server ...
- vue中怎么全局引入sass文件
1.添加依赖 npm install sass-resources-loader --save-dev 2.修改build/utils.js scss: generateLoaders('sass') ...
- Forethought Future Cup - Elimination Round
A:签到. #include<bits/stdc++.h> using namespace std; #define ll long long char getc(){char c=get ...
- ZuulFilter 执行顺序
说明: 创建了两个Filter,分别是 PreFilter public class PreFilter extends ZuulFilter { public PreFilter() { super ...
- bzoj 1926: [Sdoi2010]粟粟的书架 (主席树+二分)
链接:https://www.lydsy.com/JudgeOnline/problem.php?id=1926 题面; 1926: [Sdoi2010]粟粟的书架 Time Limit: 30 Se ...
- 20165223《网络对抗技术》Exp0 Kali的安装
(1)安装步骤 Kali官网,下载Kali Linux 64 bit版本,按照网上安装教程进行即可 我是直接拷贝了Kali的.vmx文件(Linux 64bit),在上学期已经安装好的VMware中可 ...
- 配置webpack.config.js中的文件
webpack.config.js文件中,主要包括 entry:入口文件 output:出口文件 module:模块 plugins:插件 这几部分 1.基本配置 运行 webpack 这一命令可以将 ...
- Android activity创建三部曲
1.新建类继承Activity或其子类,现在一般继承AppCompatActivity public class TestActivity extends AppCompatActivity { @O ...
- java 多线程 synchronized与lock的通信机制等问题,结合相应实例说明
1. 利用多线程实现如下需求: 写两个线程,一个线程打印1~52,另一个线程打印A~Z,打印顺序是12A34B...5152Z: 2. 使用synchronized 实现 public class T ...
- RPC-dubbo基本使用
22.本地存根 消费者通过创建实现一个服务接口的实例,可以在执行远程调用前拿到远程调用的代理实例,进而可以在远程调用前.后添加一些操作,在出现异常后进行一些容错处理. 这个使用场景,可以调用前作数 ...