macOS必装神器 - iTerm2 与 Oh My Zsh

不得不说 Apple 的产品真的很耐用,我手里这台2017款的 Macbook Pro,搭载的系统版本还是10.15.7,也就是 macOS Catalina

1. 关于 shell 的介绍

2019年的 WWDC 大会,苹果介绍了 macOS 下一代的版本 Catalina,从 Catalina 开始系统默认的 shell 由 bash 换成了 zsh ,故搭载 Catalina 版本的系统无需额外再安装 zsh

1.1 查看系统自带的 shell

  • 输入命令 cat /etc/shells 查看系统已安装的 shell 都有哪些
  • 现在知道 shells 都在隐藏目录 bin 下(使用 command+shift+. 命令可以显示或隐藏文件)
  • 输入指令 echo $SHELL 查看当前 shell 是什么

1.2 设置默认 shell

如果不是 /bin/zsh,则需要设置当前用户的默认 shell 为 zsh

  • 使用指令 chsh -s /bin/zsh 切换至 zsh,需要输入密码并重新打开
  • 使用指令 chsh -s /bin/bash 切换回 bash,需要输入密码并重新打开

shell 的配置文件在 finder 中默认都是隐藏文件,可以使用 command+shift+. 指令显示或隐藏文件

  • bash 的配置文件所在路径

    bash 复制代码
    # ~代表家目录
    $ open ~/.bash_profile
  • zsh 的配置文件所在路径

    bash 复制代码
    # ~代表家目录
    $ open ~/.zshrc

2. 安装 iTerm2 及主题配置

2.1 iTerm2官网下载安装

iTerm2官网 下载的是 zip 压缩文件,解压后直接双击执行程序文件,或者直接将它拖到 Applications 目录

2.2 使用 homebrew 进行安装

shell 复制代码
$ brew cask install iterm2

安装好 iTerm2 后打开,iTerm2 的默认外观与 Terminal 差不多,还需要配置美化一下

2.3 配置 iTerm2 的主题

  1. 打开 iTerm2,点击左上角 iTerm2,选择 Preferences

  2. 在 Preferences 配置界面,找到 Profiles -> Colors -> Color Presets 下拉列表,选择你喜欢的主题 如果没有你喜欢的,就去访问 iTerm2 主题网站,挑选你喜欢的主题。

  3. 访问 iTerm2 主题网站下载 zip 包并解压至本地,找到 schemes 文件夹,里面就是 iTerm2 的所有主题了

  4. 再次点开 Color Presets 下拉列表,选择 Import... 后找到刚才解压的 schemes 文件夹,选择一个 .itermcolors 文件导入,当然你也可以全部导入

  5. 再次点开 Color Presets 下拉列表,就可以看到刚导入的主题了

3. 安装 Oh My Zsh 及主题配置

打开 Oh My Zsh 官网,点击 install-oh-my-zsh 可以看到有两种安装方式,但都需要科学上网

3.1 via curl

js 复制代码
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

3.2 via wget

需要先安装 wegt,输入命令行 brew intall wegt,再执行以下指令

js 复制代码
sh -c "$(wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"

3.3 手动安装

如果无法科学上网,会报错 Connection refused,考虑手动安装,去github 下载,地址是 github.com/ohmyzsh/ohm...

  1. 找到远程仓库,并 clone 至本地

    js 复制代码
    $ git clone https://github.com/ohmyzsh.git
  2. 进入 tool 目录运行 install.sh 脚本

    js 复制代码
    $ sh install.sh
  3. 如果安装完提示文件权限不足,尝试以下指令

    js 复制代码
    $ chmod 755 /usr/local/share/zsh
    $ chmod 755 /usr/local/share/zsh/site-functions

安装完 Oh My Zsh,默认比较丑

如果不是 zsh,需要把当前用户的默认 shell 设置为 zsh

bash 复制代码
# 切换至 zsh
$ chsh -s /bin/zsh

3.4 配置 Oh My Zsh 主题

使用下面的指令查看 Oh-My-Zsh 内置的主题,无需再单独下载

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

这些主题都长啥样?没有预览效果,怎样选嘛?别着急,点击进入 Oh My Zsh 主题列表,这样就能直观地找到自己喜欢的主题了

找到你喜欢的主题,接下来咱们就开始修改主题了

3.4.1 open + source

  1. 打开 .zshrc,即 zsh 的配置文件

    js 复制代码
    $ open ~/.zshrc
  2. 试着将主题 ZSH_THEME="robbyrussell" 修改为 "angoster",然后 source 一下,即可生效

    js 复制代码
    $ source ~/.zshrc

3.4.2 使用 vim 指令

  1. 在终端输入以下指令

    js 复制代码
    $ vim ~/.zshrc
  2. 键入字母 i,进入编辑模式

  3. 光标定位至 ZSH_THEME= 这一行,在双引号内输入你喜欢的主题名称

  4. 键入 sec,输入 :wq,退出编辑模式

  5. 最后依旧是 source 一下配置文件

    js 复制代码
    $ source ~/.zshrc

3.4.3 随机主题

  • 如果你希望每次打开 iTerm2 终端,随机体验一个主题 ZSH_THEME="random"
  • 如果你希望在最喜欢的几个候选主题中随机切换ZSH_THEME_RANDOM_CANDIDATES=("robbyrussell" "agnoster" "powerlevel9k/powerlevel9k")
  • 只希望排除几个不喜欢的主题随机ZSH_THEME_RANDOM_IGNORED=("robbyrussell" "agnoster" "powerlevel9k/powerlevel9k")

当然,最后别忘了要 source 一下

3.4.4 第三方主题

如果你不喜欢 Oh-My-Zsh 的自带主题,可以考虑第三方主题,但需要单独下载,这里推荐zsh官方额外主题和 powerlevel9k 主题(现在已经有 powerlevel10k 主题)github.com/ohmyzsh/ohm...

  • 打开上面的链接,拷贝 HTTPS 地址或直接点击 Download ZIP 下载解压
  • 使用拷贝的地址自动安装,注意存放的本地目录路径
  • 打开 .zshrc 配置文件,修改 ZSH_THEME="powerlevel10k-master/powerlevel10k"
  • source 配置文件
  • 这里安装 powerlevel10k 时,会安装 Meslo 字体,选择 Yes 就好

3.5 配置 Powerline 字体

iTerm2 修改主题之后,因为某些主题含有特殊字符或表情,可能会出现乱码,如果你刚好又没有安装 powerlevel 主题,那就需要安装 Meslo 字体来解决兼容性问题。

  1. 打开 Powerline Fonts,拷贝克隆指令

  2. 打开 iTerm2 终端,输入克隆指令

    js 复制代码
    $ git clone https://github.com/powerline/fonts.git --depth=1
  3. 克隆完了,找到 fonts 仓库,可以看到 install.sh 安装文件

  4. cd 到 fonts 目录下,输入 ./install.sh ,运行 install.sh 文件

    js 复制代码
    $ cd fonts
    $ ./install.sh
  5. 安装完字体库之后(可以输入指令 rm -rf fonts 删掉 fonts 文件夹),打开 iTerm2 的 Preferences 配置界面,找到 Profiles -> Text -> Font,选择 "ProFont for Powerline" 字体

  6. 重启 iTerm2,可以看到问号消失了,还有了箭头

3.6 命令高亮显示插件

zsh-syntax-highlighting 插件可以使 iTerm2 输入的命令有语法高亮显示效果 有两种安装方法

3.6.1 homebrew 安装

  1. brew install 安装

    bash 复制代码
    $ brew install zsh-syntax-highlighting
  2. 安装完成后,可以看到 homebrew 的程序安装目录里多一个 zsh-syntax-highlighting 文件夹

  3. 启用 zsh-syntax-highlighting 插件,下面2种方式一样

    • 在终端输入以下指令

      bash 复制代码
      echo "source $(brew --prefix)/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ${ZDOTDIR:-$HOME}/.zshrc
    • 打开 .zshrc 配置文件 vim ~/.zshrc,在最后一行手动添加 source /usr/local/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh

  4. 退出 .zshrc 配置文件后,记得 source 一下

3.6.2 git 命令安装

  1. git 安装

    bash 复制代码
    git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
  2. 安装完成后,编辑 .zshrc 配置文件,你可以选择输入 open ~/.zshrc 或使用 vim 指令 vim ~/.zshrc

  3. 打开 .zshrc 配置文件后,找到 plugins 配置,在括号内增加 zsh-syntax-highlighting,与其他插件名用空格隔开

    bash 复制代码
    plugins=( [plugins...] zsh-syntax-highlighting)
  4. 退出 .zshrc 配置文件后,记得 source 一下

3.7 命令自动建议填充

zsh-autosuggestions 插件可以帮助我们快速补全命令

3.7.1 homebrew 安装

  1. brew install 安装

    bash 复制代码
    brew install zsh-autosuggestions
  2. 安装完成后,可以看到 homebrew 的程序安装目录里多一个 zsh-autosuggestions 文件夹

  3. 启用 zsh-autosuggestions 插件,输入指令 vim ~/.zshrc 打开 .zshrc 配置文件,在最后一行手动添加 source /usr/local/share/zsh-autosuggestions/zsh-autosuggestions.zsh

  4. 退出 .zshrc 配置文件后,记得 source 一下

3.7.2 git 命令安装

  1. git 安装

    bash 复制代码
    git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
  2. 安装完成后,编辑 .zshrc 配置文件,你可以选择输入 open ~/.zshrc 或使用 vim 指令 vim ~/.zshrc

  3. 打开 .zshrc 配置文件后,找到 plugins 配置,在括号内增加 zsh-autosuggestions,与其他插件名用空格隔开

    bash 复制代码
    plugins=( [plugins...] zsh-autosuggestions)
  4. 退出 .zshrc 配置文件后,记得 source 一下

3.8 快速跳转插件

autojump 插件可以快速跳转至你想去的目录

autojump - a faster way to navigate your filesystem

3.8.1 homebrew 安装

  1. brew install 安装

    bash 复制代码
    brew install autojump
  2. 安装完成后,可以看到 homebrew 的程序安装目录里多一个 zsh-autojump 文件夹

  3. 启用 zsh-autojump 插件,输入指令 vim ~/.zshrc 打开 .zshrc 配置文件,在最后一行手动添加 source /usr/local/share/zsh-autosuggestions/zsh-autosuggestions.zsh

  4. 退出 .zshrc 配置文件后,记得 source 一下

3.8.2 git 命令安装

  1. git 安装

    bash 复制代码
    git clone git://github.com/wting/autojump.git
  2. 安装完成后,进入 autojump 目录,执行按照命令

    bash 复制代码
    cd autojump
    ./install.py

4. iTerm2 的一些配置

4.1 隐藏用户名与主机名

默认的 用户名@主机名 这种显示方式一般会比较长,在使用过程中很占空间

  1. 首先使用 whoami 指令查看当前用户名
  2. 输入指令 vim ~/.zshrc 打开 .zshrc 配置文件,在最后一行手动添加 DEFAULT_USER="xx",这里的 xx 就是上面 whoami 指令返回的用户名
  3. 退出 .zshrc 配置文件后,记得 source 一下,是不是清爽了很多

4.2 设置 Status Bar

说到这个 Status Bar ,我觉得最有用的当属下面这个搜索功能,当我们使用 vim 指令编辑一些配置文件时,想搜索一些关键词,这个搜索框效率大大滴(虽然 command + F 也可以)

怎么配置呢?

  1. 打开 iTerm2 的 Preferences 配置界面,按照下图1234点击
  2. 你想要什么功能直接往下拖即可

5. iTerm2 的一些快捷键

bash 复制代码
# 新建tab
command + T

# 向右切换tab
command +shift + ]

# 向左切换tab
command +shift + [

# 快速切换到第几个页签
command + 数字

# 快速定位到光标处
command + /

# 查看上一条命令
control + p
相关推荐
追风林8 分钟前
mac m1 docker本地部署canal 监听mysql的binglog日志
java·docker·mac
daqinzl6 小时前
java获取机器ip、mac
java·mac·ip
Mac新人6 小时前
一招解决Mac没有剪切板历史记录的问题
macos·mac
王拴柱6 小时前
Mac保护电池健康,延长电池使用寿命的好方法
macos·mac
没有感情的robot2 天前
mac 修改启动图图标数量
mac
Mac新人3 天前
如何才能实时监测Mac的运行状态
macos·mac
星空爱忆4 天前
CleanShot X - Mac(苹果电脑)专业截图录屏软件
mac·cleanshot
Mac新人4 天前
Mac如何实现高效且干净的卸载应用程序
macos·mac
我是你小哥啊7 天前
mac下使用docker安装php7.4环境
运维·docker·容器·php·mac
王拴柱7 天前
使用Mac如何才能提高OCR与翻译的效率
macos·ocr·mac