Mac终端|iTerm2 + Oh My Zsh 打造炫酷终端、提高开发效率;想通Terminal、iTerm2、Zsh、Oh My Zsh、brew价值和区别

引言

hello大家好,今天给大家分享Mac终端开发神奇 iTerm2Oh My Zsh 他俩是什么?能干嘛?咱们先姑且不谈,先说几个开发常见的痛点,大家可以品一品是否也有遇到过

首当其冲Mac默认的终端Terminal没有显示项目分支,虽然编辑器或者第三方可视化软件可以看,但还是感觉不是很优雅

接着经常用的命令没有提示,每次重敲命令影响开发效率,遇到手残党单词容易打错,效率大打折扣

还有就是Terminal终端

  • 默认黑底白字可读性略差,配置后语法会高亮,例如上图mkdircd等增加可读性;
  • 默认复制终端内容,需要选中并按command + c键,或者鼠标右击选复制,这样操作有时候不小心容易复制失败,你遇到过吗?配置后选中字符,则直接复制,告别command + c、右击直接粘贴 ,超方便的;
  • 默认需要点击右上角终端才可以全屏,配置后直接command + enter切换终端全屏;
  • 等等

在这里先给大家分享5个点吧,相信大家安装,使用后会发现更多 ヾ(◍°∇°◍)ノ゙ 加油

一、工具介绍

安装配置前,推荐大家先把工具之间的关系搞清楚,这样有利于安装配置

1.1 Terminal vs iTerm2

  • terminal:mac默认终端,可以理解为win系统的DOS窗口;
  • iterm2:第三方维护的一个终端,一般mac开发者都会安装一个,主要因为其终端配置、窗口管理、历史命令管理等配置操作上都比mac默认终端terminal方便,所以受到很多开发者喜爱;

这里也给大家准备了几张截图,方便大家更好的理解两者区别,理解为什么喜欢iterm2而不是Mac默认的terminal

a 默认效果

默认安装打开后的效果,看着差不多

b 终端配置

iterm2可以配置热键、背景透明和悬浮,它能够悬浮在任意窗口上面等等,所以iterm2更强大

c 智能复制

terminal 需要先选中,接着按下快捷键command + c或者鼠标右击选复制

iterm2 这里就方便太多了,选中则直接复制,告别command + c、同时右击直接粘贴的效果也非常友好;另外按下command + option可以矩形选中效果,这个我用的不多,算一个优点吧

d 窗格管理

terminal窗格自定义管理没有 iterm2强,通过下述快捷键可以测试

  • 垂直分屏:command + d
  • 水平分屏:command + shift + d
  • 切换窗格:command + option + 方向键 或者 Command + 左右中括号

e 快捷功能

  • 回车全屏 command + enter
  • 历史剪切板 command + shift + h
  • 历史命令提示 command + ;

等等这些命令都是在iterm2下才会生效

暂时说这么多吧,等下文大家安装了自己再来体验下 🍃

1.2 Zsh vs Oh My Zsh

这里大家需要先了解Shell 接着了解ZshOh My Zsh的概念和关系,最后思考下 terminaliterm2ZshOh My Zsh四者之间关系,更加有利于后续得配置

Shell

计算机设备是由一个个物理硬件组成的,本身不具备运行处理能力,需要通过内核和驱动对硬件进行操作,驱动其工作。在计算机系统中,内核接口是隐藏起来的,用户不能直接操作内核,我们需要通过一个中间程序,接收用户操作命令,将其传递给内核,推动内核工作,进而推动硬件工作。Shell便是这个中间程序,起到连接操作系统内核和用户的作用。

简单理解哈,shell就是命令解析器,把用户在terminaliterm2上输入的命令进行解析,接着传递给内核;

  • shell种类:ash、bash、ksh、csh、zsh等,值得一说的是在大多数 Linux 系统中,默认的 shell 是 Bash,而在 macOS 系统中,默认的 shell 是 Zsh(Z Shell) 。从 macOS Mojave 开始,Apple 将默认 shell 从 Bash 切换到了 Zsh 不过也根据个人喜好。
  • shell区别:例如命令,功能、特性存在差异,这里就不展开说了,大致知道shell之间的区别就行

Oh My Zsh

ZshShell/命令解释器的一种实现,本身很强大,但是配置起来也非常的复杂;所以为了解决Zsh复杂的配置问题,Oh My Zsh就诞生了。

Oh My Zsh 是一个开源的、社区驱动的框架,用于管理您的 Zsh 配置。它捆绑了数千个有用的功能、插件、主题,可以让用户轻松定制和管理Zsh的配置。

具体有哪些插件,下文安装的时候咱们继续说,这里点到为止

1.3 brew

brew 全称 Homebrew 是 Mac OS 下强大的包管理工具,类似于win系统的软件管家,咱们可以通过他来安装iterm2或者 安装Oh My Zsh插件等;当然也可以通过其他方式安装都可以。

📢 到这里工具就全部介绍完了,接下来开始安装

PS. 工具介绍顺序iterm2Oh My Zshbrew,但是安装顺序则是brewiterm2Oh My Zsh你能想明白为什么吗? 品一品

二、软件包管理工具 brew

2.1 安装

可以使用 官网 brew.sh 提供的方式安装,不过由于众所周知的原因,国内使用官方安装方法有问题,咱们使用国内源安装脚本安装。

在终端中输入以下命令,根据提示安装就行

bash 复制代码
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

2.2 常用命令

安装成功后可以在终端输入brew -v查看版本验证是否安装成功,后续也可以通过下述命令管理

bash 复制代码
brew search 关键词   # 搜索相关的包
brew install 包名    # 安装
brew uninstall 包名  # 卸载
brew info 包名       # 查看包的信息
brew list 包名       # 查看已安装的包
...

咱们暂时不装软件,大家知晓命令后面用

2.3 卸载

这个知晓就行,不用操作

bash 复制代码
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/HomebrewUninstall.sh)"

三、终端工具 iTerm2

3.1 安装

直接打开官网 iterm2.com下载可视化安装

或者

在终端中输入以下命令直接安装也行

bash 复制代码
brew install --cask iterm2

安装后默认效果

3.2 功能

很多功能之前terminaliterm2对比的时候都介绍过,这里再分享下,刚好大家趁热打铁挨个试一试到底好不好用;01~04强烈推荐大家多用用,其他的根据个人爱好,有小编没总结到的,也推荐评论区留言分享,感谢感谢 🌹🌹🌹

a 智能复制*

iterm2选中则复制,被选择的文本会自动保存在剪切板中。双击选中,三击选中整行,四击智能选择,可以智能地选中你想要的数据,如日期、邮箱,网址,括号/引号中的数据等。

同样也支持快速粘贴,直接鼠标右击或者command+v进行粘贴

b 标签页Tabs*

  • 新建标签 command + t
  • 关闭标签 command + w
  • 切换标签 command + 数字 或者 command + 左右方向键

这个功能Terminal也支持

c 配置Settings*

  • 3.1 窗口设置

打开iTerm2,打开Preferences配置界面,Profiles -> Window,根据自己的需求设置窗口透明度、背景图片、行列数以及风格等。

  • 3.2 设置 Status bar

开启后我们可以在终端的最上方非常方便的实时查看本机的一些信息。

  • 3.3 配置SSH快速连接

等等

d 终端窗体控制*

大爱啊,按下自定义快捷键 快速隐藏、显示窗体吗,它会透明并且悬浮于其他窗体之上。

打开iTerm2,打开Preferences配置界面,Profiles → Keys →configure Hotkey window,自定义一个快捷键就可以了。

删除Hotkey

e 部分快捷键

* 是小编喜欢用的

作用 命令 作用 命令
清屏* command + r 删光标字符 ctrl + d
清除当前行 ctrl + u 删光标前单词 ctrl + w
到行首* ctrl + a 删光标前一个字符 ctrl + h
到行尾* ctrl + e 删光标及末尾 ctrl + k
交换光标文本 ctrl + t

f 窗格Panes

  • 垂直分屏:command + d
  • 水平分屏:command + shift + d
  • 切换窗格:command + Option + 方向键 或者 command + 左右中括号

g 历史剪切板

通过 command + shift + h 可以查看当前终端历史复制的内容,因为iterm 2支持选中复制,所以选中的内容都可以查看

h 历史命令回放

挺好玩的,不过一般用不到,他可以像录屏一样,然后播放过去一段时间内窗口显示的内容 command + option + b

四、配置管理工具 Oh My Zsh

4.1 安装

可以使用 官网 ohmyz.sh 提供的方式安装,不过由于众所周知的原因,国内使用官方安装方法有问题,咱们使用手动安装。

bash 复制代码
# 1 下载 oh-my-zsh 源码
git clone https://github.com/ohmyzsh/ohmyzsh.git ~/.oh-my-zsh
# 2 把 .zshrc 配置文件拷贝到当前用户的目录下
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
# 3 让 .zshrc 配置文件生效
source ~/.zshrc

如果克隆失败,打开github手动下载zip文件 -> 解压 -> 移动 oh-my-zsh 目录到用户家目录:

bash 复制代码
# 1 移动解压后的ohmyzsh到用户的家目录
mv ~/Downloads/ohmyzsh-master ~/.oh-my-zsh
# 2 把 .zshrc 配置文件拷贝到当前用户的目录下
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
# 3 让 .zshrc 配置文件生效
source ~/.zshrc

下图是安装前后的对比效果

4.2 配置主题

安装后如果你对上图默认主题不满意,也可以自己配置主题

a 自带主题

查看oh-my-zsh自带主题

bash 复制代码
ls ~/.oh-my-zsh/themes

下面的网站看下oh-my-zsh自带的部分主题显示效果:

主题效果预览

找到自己喜欢的主题,接下来就可以进行主题修改了,咱们以agnoster为例

bash 复制代码
vim ~/.zshrc

关于vim不会用的度娘一下吧,或者

bash 复制代码
open ~/.zshrc 

这个命令也可以直接编辑

改完之后输入以下命令更新配置,让其生效。

bash 复制代码
source ~/.zshrc

b 第三方主题

所有第三方主题

主题效果预览

powerlevel10k 是目前比较流行的

首先去 ~/.oh-my-zsh/themes 目录下载主题

bash 复制代码
cd ~/.oh-my-zsh/themes 
git clone https://github.com/romkatv/powerlevel10k.git

接着修改配置文件就行

bash 复制代码
vim ~/.zshrc 或 open ~/.zshrc 

修改主题和增加额外主题配置

ini 复制代码
# ZSH_THEME="robbyrussell"
# ZSH_THEME="agnoster"
ZSH_THEME="powerlevel10k/powerlevel10k"

# Prompts
POWERLEVEL9K_LEFT_SEGMENT_SEPARATOR='\uE0C0'
#POWERLEVEL9K_LEFT_SUBSEGMENT_SEPARATOR='\uE0C0'
POWERLEVEL9K_RIGHT_SEGMENT_SEPARATOR='\uE0C2'
#POWERLEVEL9K_RIGHT_SUBSEGMENT_SEPARATOR='\uE0C2'
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(dir dir_writable vcs virtualenv)
POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(status background_jobs command_execution_time ip)
POWERLEVEL9K_SHORTEN_DIR_LENGTH=2
POWERLEVEL9K_SHORTEN_DELIMITER=..
POWERLEVEL9K_PROMPT_ON_NEWLINE=true
POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX=$'\n'
POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX="\uF460%F{073}\uF460%F{109}\uF460%f "
POWERLEVEL9K_MODE='nerdfont-complete'
HIST_STAMPS="yyyy/mm/dd"

改完之后输入以下命令更新配置,让其生效。

bash 复制代码
source ~/.zshrc

大家可以通过下图看到详细操作哈

4.3 配置插件

插件的安装,咱们可以通过Homebrew或者git两种安装方式,大家根据习惯任选其一即可,无需重复安装。

然后插件有很多,这里给大家分享,我个人比较喜欢的3个插件,你可以在github查看更多,不过我看着貌似不全,所以推荐评论区分享你喜欢的插件名和原因,后续我来持续更新 感谢感谢 🌹🌹🌹

a 高亮插件 zsh-syntax-highlighting

安装

bash 复制代码
brew install zsh-syntax-highlighting

配置 vi/open ~/.zshrc

bash 复制代码
source /opt/homebrew/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh

source 路径可以通过 brew info zsh-syntax-highlighting查看

b 历史命令提示插件 zsh-autosuggestions *

强推的,加快开发速度,敲命令可以看到历史的命令提示,然后按下键盘command + ->则自动补全

安装

bash 复制代码
git clone https://github.com/zsh-users/zsh-autosuggestions ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions

配置

bash 复制代码
# 编辑配置文件
vim/open ~/.zshrc

# 找到plugins配置,在括号内增加zsh-autosuggestions,与其他插件之间使用空格分隔开
plugins=(zsh-autosuggestions)

# 退出编辑后执行使配置生效
source ~/.zshrc

效果

c ls列表美化插件 colorls

安装ruby

bash 复制代码
brew install ruby

配置ruby

bash 复制代码
# 编辑配置文件
vim/open ~/.zshrc

# 文件最后加一行
export PATH="/opt/homebrew/opt/ruby/bin:$PATH"

# 退出编辑后执行使配置生效
source ~/.zshrc

安装colorls

bash 复制代码
sudo gem install colorls -n /usr/local/bin

配置colorls

ini 复制代码
# 编辑配置文件
vim/open ~/.zshrc

# 文件最后加
source $(dirname $(gem which colorls))/tab_complete.sh
alias ll='colorls -lA --sd --gs --group-directories-first'
alias ls='colorls --group-directories-first'
alias lc='colorls'
alias l='colorls -l --sort-dirs'
alias la='colorls -la --sort-dirs' 
alias lt='colorls -lt  --git-status'
alias lS='colorls -lS  --git-status' 
alias lr='colorls --tree=5'
alias lx='colorls -lAX --git-status'

# 退出编辑后执行使配置生效
source ~/.zshrc

4.4 卸载

这个知晓就行,不用操作

bash 复制代码
uninstall_oh_my_zsh 

五、效果展示

自己又改了改,跟着文章配下来太花里胡哨了,坑不住

✨✨终于写完了😄,希望能帮助到大家。

如果你喜欢这篇文章,记得帮忙给个点赞和评价,谢谢!

🍃🍃🍃

相关推荐
电手1 天前
Win10停更,Win11不好用?现在Mac电脑比Win11电脑更便宜
windows·macos·电脑·mac
seth2 天前
一个基于 Go 语言 开发的命令行版 V2EX 客户端,支持在终端内快速浏览主题、查看评论、切换节点及基础配置管理
go·iterm·v2ex
前端店小二2 天前
前端Mac从零到一搭建开发环境
前端·mac
用户098880217932 天前
Topaz Photo AI人工智能图像降噪 安装教程(Mac)
macos·mac·图像识别
Wario4 天前
我在 Mac 上装了 Aerospace,效率翻倍不是说说而已
macos·mac
奕天者11 天前
计算机网络学习(八)——MAC
学习·计算机网络·mac
猫头虎13 天前
MacBookPro上macOS安装第三方应用报错解决方案:遇到:“无法打开“XXX”,因为无法确定(验证)开发者身份?怎么解决
macos·mac·策略模式·安全架构·mac安装软件·mac book·mac卸载软件
猫头虎15 天前
MacBookPro上macOS安装第三方应用报错解决方案:遇到:“无法打开“XXX”,因为Apple无法检查其是否包含恶意软件 问题如何解决
macos·开源软件·mac·策略模式·远程工作·软件需求·安全架构
一如既往yes15 天前
Mac如何允许安装任何来源软件?
mac
拿回忆下酒17 天前
Electron+vite+vue3 从0到1搭建项目,开发Win、Mac客户端
windows·electron·mac·客户端·桌面客户端