好看命令行:iTerm2 + Oh My Zsh + Powerlevel10k
对于 MacOS 用户来说,系统自带的 Terminal 是我们与命令行交互的默认工具。然而,默认的 Terminal 在功能和美观上都存在一些限制。
在本文中,我将介绍如何使用 iTerm2、Oh My Zsh 和 Powerlevel10k 来搭建一个功能强大且美观的终端环境,同时还会推荐一些常用的插件,以提升你的命令行体验。
系统 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
可以通过命令行使用 curl
或 wget
安装 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/)"`
注意:
- 安装 Oh My Zsh 会将
.zshrc
文件 (如果有) 重命名为.zshrc.pre-oh-my-zsh
,并再重新生成了一个.zshrc
。- 安装完成后,我们需要将
.zshrc.pre-oh-my-zsh
中需要的配置拷贝到新的.zshrc
中。- 完成以上步骤后执行
source ~/.zshrc
让配置文件生效。
安装完成后,重新启动 iTerm2 查看配置是否生效。
高级安装
点击此处,查看高级安装教程。例如:自定义目录安装、无人值守安装、Fork 存储库安装 和 手动 clone 安装 等。
更新 Oh My Zsh
自动更新
默认情况下,系统会每 2 周提示你检查一次更新。我们也可以设置更新模式,点击此处查看设置详情。
手动更新
如果你想在任何时间点更新(例如有人刚刚发布了一个新插件而你不想等待一周?)你只需运行:
1
omz update
卸载 Oh My Zsh
如果你想卸载 oh-my-zsh,只需从命令行运行 uninstall_oh_my_zsh
。它将自行删除并恢复你之前的 bash
或 zsh
配置。详细教程
使用
通过编辑 ~/.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
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
在
~/.zshrc
中配置ZSH_THEME="powerlevel10k/powerlevel10k"
。
Homebrew 安装
1
2
brew install powerlevel10k
echo "source $(brew --prefix)/share/powerlevel10k/powerlevel10k.zsh-theme" >>~/.zshrc
有关 Homebrew 详细使用说明,请参考:Homebrew 酿酒术:精心调配你的 macOS 软件环境
注意:
更新 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 后,重新启动 iTerm,或者执行
exec zsh
,请勿使用source ~/.zshrc
。- 点击此处,查看 详细更新教程。
卸载 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_ELEMENTS
和 POWERLEVEL9K_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)。
结语
通过本文的介绍,我们已了解如何使用 iTerm2、Oh My Zsh 和 Powerlevel10k 来搭建一个好看的终端环境。这个环境不仅可以提升我们的工作效率,还能让我们在命令行工作中保持愉悦的心情。希望这些工具能为我们的开发工作带来便利和乐趣!