打造我的命令行终端

1,046 阅读2分钟

🎉 最终界面效果:

安装配置 iTerm2

使用 Homebrew 安装 iTerm2

brew cask install iterm2

修改 iTerm2 主题

为了获得沉浸式的 Title 视觉体验,将默认的 Regular 主题变更为 Minimal。

更改光标显示效果

隐藏滚动条

修改字体

更换配色方案

上面的效果图使用了 BlulocoDark 配色方案,更多配色方案见 www.iterm2.com/colorgaller…

设置背景

❤️ 推荐两个高质壁纸站

自定义状态栏

修改默认 shell

对于 UNIX 或类 UNIX 操作系统来说,shell 客户端为用户与系统的交互提供了一个传统的人机交互方式——命令行交互方式,比如 macOS 自带的终端应用,而 shell 本身指的是在这个图形界面背后 “默默付出” 的 命令行解释器

不同的系统往往预装了多种 shell ,它们的功能虽都大同小异,但是各具特色。一般我们可以通过查看 /etc/shells 的内容得知系统预装的 shell 有哪些。

macOS 10.14 上 /etc/shells 文件的内容:

➜  ~ cat /etc/shells
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.

/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
➜  ~

下面要介绍的 Oh My Zsh 一个专门用来管理 Z shell(Zsh) 配置的管理工具,Oh My Zsh 也正是在 Zsh 虽然功能强大,但配置较为复杂的背景下产生的。

有关 Zsh 可参考维基百科:Z shell

综上所述,没有 Oh My Zsh ,Zsh 这一 shell 可以工作,但是要使用 Oh My Zsh 则必须先安装 Zsh 。

macOS 通常预装了 Zsh ,对于其他系统的 Zsh 安装教程可参考以下链接:Installing ZSH

除此之外,由于下面安装 Oh My Zsh 的过程需要用到 git ,所以提前安装 git 也是必要的。

修改默认的 shell 使用 chsh 命令:

chsh -s $(which zsh)

使用 Oh My Zsh 管理 zsh

安装 Oh My Zsh

通过诸如 wget 此类的下载工具下载 Oh My Zsh 的安装脚本:

wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh

下载完成后就会在当前目录出现一个名为 install.sh 的安装脚本,接下来,我们就可以执行这个安装脚本完成 Oh My Zsh 的安装了:

sh install.sh

至此,Oh My Zsh 的安装就完成了。安装脚本会在家目录 ~/ 下生成一个名为 .zshrc 的文件,它也是管理 zsh 配置的配置文件。

选择一个主题

我们可以通过编辑 ~/.zshrcZSH_THEME 配置项来选择一个钟意的主题,这里 themes 你可以查看众多支持的主题。

需要注意的是,为了能够正确渲染有些主题,你需要安装 Powerline Fonts

另外,由于 OMZ 已经包含了太多的主题,官方已不再接收新的了,你要是想安装其他的主题可以移步这里:External themes

你以为完了吗,关于主题部分?O(∩_∩)O哈!如果你还能折腾,OMZ 还支持在你打开一个终端时随机渲染一个主题,你只需将 ZSH_THEME 设置为 random ,在此基础上,你还可以通过 ZSH_THEME_RANDOM_CANDIDATES 指定随机的主题列表。

这里使用了默认的 robbyrussell 主题。

# ~/.zshrc

ZSH_THEME="robbyrussell"

添加插件

Oh My Zsh 提供的许多强大功能都是通过插件(plugin)来实现的,从这里 plugins 你可以查看所有支持的插件。

为了开启我们所需的插件,只要编辑 ~/.zshrc 文件中的 plugins 配置项就行了。

# ~/.zshrc

plugins=(
  git
  osx
  golang
  copydir
  copyfile
  dircycle
  colorize
  docker
  docker-compose
  zsh-autosuggestions
  zsh-syntax-highlighting
)
  • copydir - 使用 copydir 命令复制 $PWD 的值。
  • copyfile - 使用 copyfile <filename> 复制名为 filename 的文件。
  • colorize - 使用 ccatcless 命令分别替换 catless 命令,以期高亮显示文本内容。
  • zsh-autosuggestions - 一个占位提示的第三方插件
  • zsh-syntax-highlighting - 命令语法高亮

OMZ 的升级

你可以通过 DISABLE_AUTO_UPDATE 配置项来控制它的自动升级行为。

我们还可以直接执行 upgrade_oh_my_zsh 命令手动升级。

OMZ 的卸载

通过运行 uninstall_oh_my_zsh 命令可以直接卸载它,同时会恢复 zsh 的之前设置。