文章

好看命令行:iTerm2 + Oh My Zsh + Powerlevel10k

iterm2 Logo

对于 MacOS 用户来说,系统自带的 Terminal 是我们与命令行交互的默认工具。然而,默认的 Terminal 在功能和美观上都存在一些限制。

在本文中,我将介绍如何使用 iTerm2Oh My ZshPowerlevel10k 来搭建一个功能强大且美观的终端环境,同时还会推荐一些常用的插件,以提升你的命令行体验。

系统 Terminal

MacOS 系统自带的 Terminal 是基于 Bash Shell 的命令行工具,它为用户提供了与操作系统交互的接口。然而,它的界面相对单调,功能也比较基础,对于追求高效和美观的用户来说,显然是不够的。

iTerm2

iTerm2 是一款功能强大的终端模拟器,它提供了丰富的特性和可定制性,让用户能够根据自己的喜好来配置终端的外观和行为。

安装 iTerm2

iTerm2 官网 下载,解压,然后将解压后的 iTerm.app 拖入 应用程序 里就 OK 了。

使用

iTerm2 提供了许多强大的功能,如多标签页、分屏、触发器、密码管理等。你可以通过其偏好设置进行个性化配置,以满足你的需求。详细教程

Oh My Zsh

Oh My Zsh 是一个开源的、社区驱动的框架,用于管理 Zsh (Z Shell) 的配置。它提供了丰富的主题和插件,让用户能够轻松地定制自己的命令行界面和增强命令行功能。

安装 Oh My Zsh

可以通过命令行使用 curlwget 安装 Oh My Zsh。详细教程

1
2
3
4
5
# Install oh-my-zsh via curl
$ sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

# Install oh-my-zsh via wget
$ sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

也可以使用 GitHub 之外的镜像安装。比如你所在地区屏蔽了 raw.githubusercontent.com,则可能需要使用此方式:

1
2
3
4
5
# Install oh-my-zsh via curl
$ `sh -c "$(curl -fsSL https://install.ohmyz.sh/)"`

# Install oh-my-zsh via wget
$ `sh -c "$(wget -O- https://install.ohmyz.sh/)"`

注意:

  1. 安装 Oh My Zsh 会将 .zshrc 文件 (如果有) 重命名为 .zshrc.pre-oh-my-zsh,并再重新生成了一个 .zshrc
  2. 安装完成后,我们需要将 .zshrc.pre-oh-my-zsh 中需要的配置拷贝到新的 .zshrc 中。
  3. 完成以上步骤后执行 source ~/.zshrc 让配置文件生效。

安装完成后,重新启动 iTerm2 查看配置是否生效。

高级安装

点击此处,查看高级安装教程。例如:自定义目录安装无人值守安装Fork 存储库安装手动 clone 安装 等。

更新 Oh My Zsh

自动更新

默认情况下,系统会每 2 周提示你检查一次更新。我们也可以设置更新模式,点击此处查看设置详情

手动更新

如果你想在任何时间点更新(例如有人刚刚发布了一个新插件而你不想等待一周?)你只需运行:

1
omz update

卸载 Oh My Zsh

如果你想卸载 oh-my-zsh,只需从命令行运行 uninstall_oh_my_zsh。它将自行删除并恢复你之前的 bashzsh 配置。详细教程

使用

通过编辑 ~/.zshrc 文件,你可以配置 Oh My Zsh 的主题、插件等。同时,Oh My Zsh 还提供了丰富的快捷键和命令别名,可以大大提高你的命令行效率。详细教程

Powerlevel10k

Powerlevel10k 是一个为 Zsh 设计的强大主题,它提供了丰富的提示符定制选项和多种实用信息显示,如当前工作目录、时间、系统状态等。

安装 Powerlevel10k

手动安装

1
2
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/powerlevel10k
echo 'source ~/powerlevel10k/powerlevel10k.zsh-theme' >>~/.zshrc

国内用户可以使用 gitee.com 上的官方镜像加速下载.

1
2
git clone --depth=1 https://gitee.com/romkatv/powerlevel10k.git ~/powerlevel10k
echo 'source ~/powerlevel10k/powerlevel10k.zsh-theme' >>~/.zshrc

Oh My Zsh 安装

  1. 克隆存储库:

    1
    
     git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
    

    中国用户可以使用 gitee.com 上的官方镜像加速下载.

    1
    
     git clone --depth=1 https://gitee.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
    
  2. ~/.zshrc 中配置 ZSH_THEME="powerlevel10k/powerlevel10k"

Homebrew 安装

1
2
brew install powerlevel10k
echo "source $(brew --prefix)/share/powerlevel10k/powerlevel10k.zsh-theme" >>~/.zshrc

有关 Homebrew 详细使用说明,请参考:Homebrew 酿酒术:精心调配你的 macOS 软件环境

注意:

  • 选择手动Homebrew 安装,在插件管理器中也可以使用。只需确保在插件管理器中禁用当前主题即可。如果有问题请参考 故障排除
  • 点击此处,查看详细安装教程

更新 Powerlevel10k

手动更新

如果是 手动安装,则执行此命令更新:

1
git -C ~/powerlevel10k pull

Oh My Zsh 更新

如果是 Oh My Zsh 安装,则执行此命令更新:

1
git -C ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k pull

Homebrew 更新

如果是 Homebrew 安装,则执行此命令更新:

1
brew update && brew upgrade

注意:

卸载 Powerlevel10k

点击此处,查看详细卸载教程

安装字体 Nerd Fonts

安装字体

如果我们需要使用一些字体图标,需要安装一个强大的字体库 (Nerd Fonts)。详细教程

从这里 Nerd-Fonts’s latest GitHub release 找到名为 Hack.zip 的字体包,下载下来。

然后,解压缩就会获得一些 ttf 字体文件,双击安装即可。

zshrc 设置字体

1
2
POWERLEVEL9K_MODE="nerdfont-complete"
ZSH_THEME="powerlevel10k/powerlevel10k"

注意:POWERLEVEL9K_MODE 需要设置在 ZSH_THEME 之前。

iTerm2 设置字体

操作路径:菜单栏 –> Profiles –> Open Profiles –> Edit Profiles –> 选择 Text –> 编辑 Font

这样,所有的图标就都可以正常显示了。

配置 Powerlevel10k

自动配置

运行命令 p10k configure 进入自动配置的流程,然后根据提示选择你需要的选项。

命令执行完后会在用户目录下生成一个 ~/.p10k.zsh 文件。并且在 ~/.zshrc 里写入:

1
2
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh

自定义配置

想要更高级配置,可以编辑 ~/.p10k.zsh 文件。例如:

  • POWERLEVEL9K_LEFT_PROMPT_ELEMENTS 显示在命令行左边区域的元素
  • POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS 显示在命令行右边区域的元素
  • POWERLEVEL9K_VCS_GIT_GITHUB_ICON 定义 Github 目录,需要显示的图标

关于 POWERLEVEL9K_LEFT_PROMPT_ELEMENTSPOWERLEVEL9K_RIGHT_PROMPT_ELEMENTS 里用的字段有:

字段描述
user用户名
dir当前目录名
vcs远程仓库信息
os_icon系统图标
date日期
host主机名
status上一条命令的执行状态
time当前时间

关于 POWERLEVEL9K_VCS_GIT_GITHUB_ICON 等图标的定制。所有出现在窗口里的图标都可以自定义,可以通过 get_icon_names 命令查看目前正在使用的图标。然后,根据显示的 KEY 就可以修改图标了。

注意:有些图标需要配合 Nerd Fonts 才能正常显示。

点击此处,可以找到你想要的 图标代码,这是 Nerd Fonts 能够支持的所有图标。以下是图标代码的使用示例:

1
POWERLEVEL9K_VCS_GIT_GITHUB_ICON='\uf113'

点击此处,查看详细文档

插件推荐

Oh My Zsh 自带插件

Oh My Zsh 包含 300 多个插件。这里是一些 特色插件,这里是 所有插件。点击每个插件的 README 可查看详细安装使用说明。例如:git plugin’s README

三方插件

  • autojump 插件会记录你所有的访问记录,不同单独配置,直接访问即可。
  • zsh-autosuggestions 根据输入历史提供命令建议。
  • zsh-syntax-highlighting 为命令行提供语法高亮功能。
  • zsh-completions 提供额外的命令补全功能。
  • colors 文件目录美化插件。
  • git-open 输入 git open 在浏览器中打开 repo 网站(GitHub、GitLab、Bitbucket)。

结语

通过本文的介绍,我们已了解如何使用 iTerm2Oh My ZshPowerlevel10k 来搭建一个好看的终端环境。这个环境不仅可以提升我们的工作效率,还能让我们在命令行工作中保持愉悦的心情。希望这些工具能为我们的开发工作带来便利和乐趣!

相关链接

本文由作者按照 CC BY 4.0 进行授权

© Liam. 保留部分权利。

本博客由 Jekyll 生成,使用 Chirpy 作为主题