引言
hello
大家好,今天给大家分享Mac终端开发神奇 iTerm2
、Oh My Zsh
他俩是什么?能干嘛?咱们先姑且不谈,先说几个开发常见的痛点,大家可以品一品是否也有遇到过
首当其冲Mac默认的终端Terminal
没有显示项目分支,虽然编辑器或者第三方可视化软件可以看,但还是感觉不是很优雅
接着经常用的命令没有提示,每次重敲命令影响开发效率,遇到手残党单词容易打错,效率大打折扣
还有就是Terminal
终端
- 默认黑底白字可读性略差,配置后语法会高亮,例如上图
mkdir
、cd
等增加可读性; - 默认复制终端内容,需要选中并按
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
接着了解Zsh
、Oh My Zsh
的概念和关系,最后思考下terminal
、iterm2
、Zsh
、Oh My Zsh
四者之间关系,更加有利于后续得配置
Shell
计算机设备是由一个个物理硬件组成的,本身不具备运行处理能力,需要通过内核和驱动对硬件进行操作,驱动其工作。在计算机系统中,内核接口是隐藏起来的,用户不能直接操作内核,我们需要通过一个中间程序,接收用户操作命令,将其传递给内核,推动内核工作,进而推动硬件工作。Shell便是这个中间程序,起到连接操作系统内核和用户的作用。
简单理解哈,shell
就是命令解析器,把用户在terminal
或iterm2
上输入的命令进行解析,接着传递给内核;
- 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
Zsh
是Shell/命令解释器
的一种实现,本身很强大,但是配置起来也非常的复杂;所以为了解决Zsh
复杂的配置问题,Oh My Zsh
就诞生了。
Oh My Zsh
是一个开源的、社区驱动的框架,用于管理您的 Zsh 配置。它捆绑了数千个有用的功能、插件、主题,可以让用户轻松定制和管理Zsh的配置。
具体有哪些插件,下文安装的时候咱们继续说,这里点到为止
1.3 brew
brew
全称 Homebrew
是 Mac OS 下强大的包管理工具,类似于win系统的软件管家,咱们可以通过他来安装iterm2
或者 安装Oh My Zsh
插件等;当然也可以通过其他方式安装都可以。
📢 到这里工具就全部介绍完了,接下来开始安装
PS. 工具介绍顺序iterm2
、Oh My Zsh
、brew
,但是安装顺序则是brew
、iterm2
、Oh 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 功能
很多功能之前terminal
、iterm2
对比的时候都介绍过,这里再分享下,刚好大家趁热打铁挨个试一试到底好不好用;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
五、效果展示
自己又改了改,跟着文章配下来太花里胡哨了,坑不住
✨✨终于写完了😄,希望能帮助到大家。
如果你喜欢这篇文章,记得帮忙给个点赞和评价,谢谢!
🍃🍃🍃