Iterm2+oh-my-zsh+Homebrew


description: Mac 上的漂亮终端 oh-my-zsh + iterm2 + homebrew 包管理器
date: ‘2022-05-19 00:00:00’
permalink:/
categories: 碎片杂文
updated: ‘2024-01-11T01:11:00.000Z’
tags:

  • 工具
    title: Iterm2+oh-my-zsh+Homebrew

前言

Mac 上的漂亮终端 oh-my-zsh + iterm2 + homebrew 包管理器

安装 Homebrew

安装 homebrew,之后就可以通过它来安装其他的软件或者插件。访问homebrew 网站 进行安装。安装 brew 之后就可以通过 brew 来安装,卸载软件包,但是官方的 uninstall 不会卸载软件的依赖包,只会卸载本身的包,为了干净的删除软件安装 rmtree

国内的用户安装 homebrew 会出现各种网络问题,因为防火墙的原因导致 github 访问经常出现问题,所以这里有一个大佬写的国内一键安装脚本

也可以执行下面的命令一键安装

1
/bin/zsh -c "$(curl -fsSL <https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh>)"
1
brew tap beeftornado/rmtree

之后通过

1
2
brew rmtree <软件名>
brew cleanup

安装 oh-my-zsh+iterm2

793078d7be34406a5c718.jpg

iterm2 官网下载安装软件,之后安装 zsh

1
2
3
4
# 安装 zsh
brew install zsh
# 设置zsh为你的默认shell
chsh -s /usr/local/bin/zsh

在 GitHub 的 osx-terminal-theme 项目主页里寻找你喜欢的主题

在 schemes 目录里找到对应的主题文件并双击安装到 Terminal, 设置为默认

如果您觉得我的主题颜色不错,可以试试我的主题配置

安装之后就可以安装 oh-my-zsh(Oh My Zsh 是一个令人愉快的、开源的、社区驱动的管理 zsh 配置的框架。它为我们带来了数千个有用的功能、助手、插件、主题,和其他一些令你惊叹的功能)

安装 oh-my-zsh:

1
sh -c "$(curl -fsSL <https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh>)"

安装 oh-my-zsh 主题

内置主题列表

oh-my-zsh 提供一批内置主题,可以直接设置使用

  1. 在内置主题列表寻找你你喜欢的主题: https://github.com/robbyrussell/oh-my-zsh/wiki/Themes
  2. 在~/.zshrc 配置文件里设置 ZSH_THEME 为你的主题名称
  3. 激活设置 source ~/.zshrc

第三方主题列表

许多第三方也开发了供 oh-my-zsh 使用的主题,可以去第三方主题列表查看和安装:

https://github.com/robbyrussell/oh-my-zsh/wiki/External-themes

安装 oh-my-zsh 必备插件

oh-my-zsh 有非常丰富的插件可供使用,但是插件如果不进行管理的话,多起来会杂乱无章。所以先安装插件管理器。

Zinit是一个灵活快速的zsh 插件管理器 ,它可以自动安装 Github 或者其他网站上的 zsh 插件。

  • 由于 Zinit 作者删除库,所以推荐手动安装,已经换到另一个接手的作者库上去了。

官方推荐的安装方式,一键完成。不过让我很没有安全感,我倾向于手动安装。

1
sh -c "$(curl -fsSL <https://raw.githubusercontent.com/zdharma/zinit/master/doc/install.sh>)"

这里推荐手动安装

首先 clone repo 到随便哪个位置,我这里是``~/.zinit/bin`

1
git clone <https://github.com/zdharma-continuum/zinit.git> ~/.zinit/bin

然后在你的 ~/.zshrc 顶端添加如下语句,没有的话手动新建一个.zshrc文件

1
source ~/.zinit/bin/zinit.zsh

重新加载~/.zshrc

1
source ~/.zshrc

ZInit常见功能使用方法

基本使用方法如下,你只要找到 zsh 插件作者的 github 网站,然后截取项目的用户名/项目名,就像下面的一样。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# 加载插件

$ zinit load {plg-spec}

# 加载插件,不打印加载信息

$ zinit light [-b] {plg-spec}

# 加载单文件,-f 表示不使用缓存,即强制重新下载

$ zinit snippet [-f] {url}

# 卸载插件,-q 表示 quiet

$ zinit unload [-q] {plg-spec}

# 显示插件加载时间,以插件加载顺序排序。-s 表示以秒进行显示(默认毫秒),-m 表示显示插件加载时刻

$ zinit times [-s] [-m]

# 显示 Zinit 状态

$ zinit zstatus

# 显示插件加载状态,--all 表示显示所有插件

$ zinit report {plg-spec} | --all

# 显示已加载的插件(使用关键字进行过滤)

$ zinit loaded [keyword],list [keyword]

# 显示每个插件的设置的按键绑定

$ zinit bindkeys

# 编译插件

$ zinit compile {plg-spec} | --all

# 移除已编译的插件

$ zinit uncompile {plg-spec} | --all

# 显示已编译的插件

$ zinit compiled

# 更新 Zinit

$ zinit self-update

# 更新插件/脚本,--all 表示更新所有插件/脚本,-q 表示静默更新,-r | --reset 更新前执行 git reset --hard / svn revert

$ zinit update [-q] [-r] {plg-spec} | URL | --all

# 为下一条 zinit 命令添加 ice 描述符

$ zinit ice <ice specification>

# 磁盘删除插件/脚本,--all 表示清除,--clean 表示删除未加载的插件/脚本

$ zinit delete {plg-spec} | URL | --clean | --all

# 进入插件目录

$ zinit cd {plg-spec}
  1. load:表示使能插件追踪功能。使用该关键字后,Zinit 会记录相关插件启动的信息,并提供如下功能:
  2. zinit report {plugin-spec}:查看插件信息
  3. zinit unload {plugin-spec}:卸载插件
  4. light:表示关闭插件追踪功能。当使用该关键字后,Zinit 不会对插件加载信息进行追踪,也就不具备查看和卸载插件的功能,但正如其名称一致,它提供了一个轻量级插件加载功能,加载插件速度会非常快。

注:在 Turbo 模式下,load 引起的插件追踪导致的加载缓慢几乎是微不足道的。

推荐 zsh 插件

  1. zdharma-continuum/fast-syntax-highlighting # 日常用的命令会高亮显示,命令错误显示红色
  2. zdharma-continuum/history-search-multi-word
  3. zsh-users/zsh-autosuggestions # 输入时按右方向键 → 自动补全命令
  4. zsh-users/zsh-completions

我自己的 zsh 配置

以下是我的完整配置其他的例如 mysql 的路径也添加在此处我暂时不加入其中,终端代理通过 privoxy。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#zsh manager

source ~/.zinit/bin/zinit.zsh

#zinit load zsh plugins

#zinit ice depth=1; zinit light zsh-users/zsh-autosuggestions

#zinit ice depth=1; zinit light zsh-users/zsh-syntax-highlighting

# Fast-syntax-highlighting & autosuggestions

zinit wait lucid for \\

atinit"ZINIT[COMPINIT_OPTS]=-C; zpcompinit; zpcdreplay" \\

zdharma/fast-syntax-highlighting \\

atload"!_zsh_autosuggest_start" \\

zsh-users/zsh-autosuggestions \\

blockf \\

zsh-users/zsh-completions

# If you come from bash you might have to change your $PATH.

# export PATH=$HOME/bin:/usr/local/bin:$PATH

# Path to your oh-my-zsh installation.

export ZSH="/Users/davidmorgan/.oh-my-zsh"

# Set name of the