知识点:iTerm2 + Oh My Zsh 使用总结

5,757 阅读5分钟

前言

iTerm2是一个开源免费的 Terminal(终端)替代品,有着各种好用的功能,如分屏、自定义配色、背景图、各种快捷方式、AutoComplete等,可以说是 MacOS 下最好用的终端工具。适用于MacOS 10.12或更高版本

Oh My Zsh 是一个管理 zsh 配置的开源框架,有众多插件,如代码高亮、代码提示、目录索引、各种语言支持等,还有众多主题可使用,让终端界面更加美观。

关于 zsh

一个强大的 shell,但原生的 zsh 过于难配置,通过 oh my zsh 可以快速配置 zsh。

MacOS 下是自带 zsh 的,但终端默认使用 bash。 关于 zsh

一. iTerm2

可以直接去官方网站下载:iterm2.com/

安装完成后,在/bin目录下会多出一个zsh的文件。

Mac系统默认使用dash作为终端,可以使用命令修改默认使用zsh:

chsh -s /bin/zsh

如果想修改回默认dash,同样使用chsh命令即可:

chsh -s /bin/bash

二、安装Oh my zsh

安装方法有两种,可以使用curl或wget,看自己环境或喜好:

# curl 安装方式

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

 # wget 安装方式
 
sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"

安装命令和安装完成后的截图:请添加图片描述

oh-my-zsh开源地址:github.com/ohmyzsh/ohm…

三、配置

上述安装好 oh my zsh 后,在 Mac 的用户根目录下会多了 .zshrc 配置文件和 .oh-my-zsh 目录。均为隐藏文件,通过快捷键 【 command + shift + . 】可以快速显示/隐藏

.oh-my-zsh文件
├───plugins       # 自带插件目录,每个插件目录下都有一个 README,有详细使用说明
├───themes        # 自带主题目录
└───custom        # 用户自定义目录
    ├───plugins   # 第三方插件目录
    └───themes    # 第三方主题目录

3.1 配置插件

Oh My Zsh 自带插件列表及说明,参考官方 wiki/Plugins

推荐插件:

  1. git:如效果图所见,显示git项目信息,还有各种 git 命令快捷方式;
  2. z:快速目录跳转, **cd ** 进入过某个目录后,可直接通过 z 目录名 快速跳转,而不需要输入完整路径;
  3. zsh-syntax-highlighting:常见命令高亮,输入错误为红色,正确为绿色,比如**cd,ls,clear ** 等;
  4. zsh-autosuggestions:命令提示,输入时会灰字提示推荐命令,直接键盘➡️补全,并不是 tab 键;

注意点:其中gitz 插件是oh my zsh 自带的,可直接配置.zshrc文件 使用。另外两个需要安装 。

安装zsh-syntax-highlighting

git clone github.com/zsh-users/z… ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

安装zsh-autosuggestions

git clone github.com/zsh-users/z… ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

以上两个命令会将插件git clone 到 ~/.oh-my-zsh/custom/plugins 用户自定义插件目录下

接下来就是配置使用插件,打开用户根目录下的 .zshrc 配置文件,找到Plugins=() 这一行,将使用到的插件加入即可,空格间隔。

plugins=(git z zsh-syntax-highlighting zsh-autosuggestions)

请添加图片描述

3.2配置主题

自带主题及预览,参考官方 wiki/Themes 第三方主题及预览,参考官方wiki/External-themes

主题推荐:

  1. robbyrussell:默认主题,简洁,本例使用就是这个。
  2. ys:自带,更加简洁,如果觉得默认主题那些图标碍眼,默认主题中图标全部用了符号替代。
  3. agnoster:自带,比较多人使用,需要 Powerline 字体依赖。
  4. powerlevel9k:第三方,可以显示更多系统状态信息等,需要另外安装,且需要 Powerline 字体依赖。

使用自带主题直接同上,修改 .zshrc 配置文件中的 ZSH_THEME="robbyrussell" 即可,可以修改成ZSH_THEME="agnoster" ,其需要需要 Powerline 字体依赖,下面会介绍其需要需要 Powerline 字体的具体使用。

3.3 iTerm2 主题配色

本人使用的是 Dracula 终端运行一下命令:

git clone github.com/dracula/ite…

在下载中看到: .itermcolors 文件 请添加图片描述

  1. 打开iTerm2;
  2. profiles -> Colors -> Color Presets -> import -> 选中下载的预设文件
  3. 勾选导入的预设

请添加图片描述

3.4 iTerm2 字体设置

3.4.1 自带字体设置

请添加图片描述

3.4.2第三方字体设置

上面我们说过agnoster字体,它是系统自带的,比较多人使用,需要 Powerline 字体依赖,第三方字体及预览,参考官方powerline官网

  1. 安装powerline的方式依然简单,也只需要一条命令:

    pip install powerline-status --user

没有安装pip的同学可能会碰到zsh: command not found: pip 请添加图片描述 2.使用命令安装pip即可:

sudo easy_install pip

走到这个时候你会发现始终走不下去的,你需要一下知识点了解:

Mac 自带 Python2.7 版本,可以在终端输入 python 进入 python 编译模式。如果要安装 Python3 需要手动安装「本文以 Python3.9 为例进行讲解」

安装 Python3

因为安装完 python3之后,其自带 pip3

在终端输入: brew install python3 即可

终端输入:

which pip3 或者 which python3 请添加图片描述

注意:

这里有用到HomeBrew,安装用法流程不过多解释,可以自行了解

回归主题: 安装powerline 以下命令不能用

pip install powerline-status --user,这时需要换成 pip3 install powerline-status --user

最后: powerline的Fonts字体

在此文件夹下执行git clone命令:

 1.git clone :git clone https://github.com/powerline/fonts.git --depth=1
 2. cd to folder: cd fonts
 3. run install shell: ./install.sh

安装字体库需要首先将项目git clone至本地,然后执行源码中的 install.sh。 在你习惯的位置新建一个文件夹,如:~/Desktop/OpenSource/

安装好字体库之后,我们来设置iTerm2的字体,具体的操作是 iTerm2 -> Preferences -> Profiles -> Text,在Font区域选中Change Font,然后找到Meslo LG字体。有L、M、S可选,看个人喜好

请添加图片描述

3.5 背景设置

背景设置【profiles】->【Colors】,设置背景图或设置透明度+毛玻璃。 请添加图片描述

3.6 iTerm2 状态栏设置

高逼格必备,就是预览图中顶部的 CPU、内存、网络 状态栏。 1.【profiles】->【Session】->【勾选 Status bar enabled】->【Configure Status Bar】

请添加图片描述

2.【拖拽需要的状态信息】->【Auto Rainbow】 请添加图片描述

常用快捷键

命令说明
command + t新建标签
command + 方向键或数字切换标签
command + d垂直分屏
command + shift + d水平分屏
command + option + 方向键切换主屏
command + w关闭标签或分屏
ctrl + lclear 清屏
ctrl + u清除当前行
ctrl + a到行首
ctrl + e到行尾

最后感谢博主:vincef0ng.cn/post/iterm2…segmentfault.com/a/119000001…