老师!我想知道!要怎麽让终端机变漂亮呢 - Mac 篇

当我们在 Mac 底下打开终端机、或者在 VSCode 里面看到终端机里面的文字时,会不会想说为什麽有些大神的画面看起来这麽缤纷好看,自己的就灰灰黑黑的,网路上有很多大神做了一些能让大家更容易客制化自己的终端机的主题、也有很多人做过类似的教学,今天这篇文章除了写给大家参考,也同时让自己做个纪录!

连更详细的每一个文字区块的颜色、图标都是可以按照自己需求来客制化的哦!这次不会写到那麽详细的部分,但至少会让大家的终端机不再是黑黑灰灰的!


  1. 一开始我们要先打开电脑里的终端机,请先打开启动台,并在里面找到终端机,接着打开它。

  2. 打开後,会出现黑色视窗,如果没做过什麽设定的话,它就是黑压压的、文字也没有什麽色彩,这时候我们要先安装一个叫做 homebrew 的套件管理工具,它可以让我们很方便地在终端机里安装、管理套件。
    如果你不知道你是否安装过,你可以在终端机键入 brew,若是出现类似 command not found 的讯息,那就是尚未安装过喔,请依照下列指令来安装( $ 字号不用输入,是用来表示终端机入指令的地方)。

     $ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" 
    

    画面上若显示 Password:,就请你输入你电脑使用者的密码,若是出现 Press RETURN to continue or any key to abort,就按下 ENTER 键。

    直到画面再度出现终端机可以打指令的地方,就是安装好了。也可以使用指令 brew --version 来确定是否安装完成。


  1. 接下来我们要安装叫做 iTerm2 的终端机,它可以用来取代 Mac 原生的终端机。我们透过刚刚装好的 homebrew 来帮我们安装 iTerm2。

     $ brew cask install iterm2
    

    画面可能跟我的不太一样,但安装成功的话,最後面会出现 ? iterm2 was successfully installed!

  2. 接着我们可以来为 iTerm2 挑选配色,请戳这里,网页中可以看到很多不同配色,挑选一个自己喜欢的配色,在喜欢的配色的名字按右键,并选择另存连结後将档案储存下来。

    如果太多了选不出来,也可以跟我用一样的配色哦,是这个「Tomorrow Night Eighties」,你也可以在这里直接对「」里的 Tomorrow Night Eighties 按右键、另存连结,将会下载一个档案,档名为 Tomorrow Night Eighties.itermcolor

  3. 下载好後,我们打开启动台,并找到 iTerm2 打开它。开启後,我们要打开 Preferences 来设定配色,可以由上方的选单列选择 iTerm2 -> Preferences ,打开後选择到 Colors 的标签,在右下角的 Color Presets 打开选单,并选择 Import。

    选择我们刚刚下载的档案 Tomorrow Night Eighties.itermcolor ,并且在 Color Presets 选择刚刚汇入成功的这个主题。


後面的步骤都在 iTerm2 里面做就好罗!可以先把丑丑的原本的终端机关掉了!

-> 从启动台打开 iTerm2:


  1. 接着我们下载 zsh (Z Shell) ,当我们透过终端机下指令与系统核心互动,所使用的就是 Shell 指令,像是 Linux 预设使用的就是 bash ,而 MacOS 则是在 2019 年後,预设由 bash 改成了 zsh,zsh 除了包含许多 bash 的功能外,也将其他各种 Shell 的功能也纳入,zsh 能让我们使用上更方便。

    安装指令:

     $ brew install zsh
    

    等待安装完成後,可以使用 zsh --version 来检查是否真的安装成功了,会出现你所安装的版本号,类似这样的结果 zsh 5.7.1 (x86_64-apple-darwin19.0.0)

    安装好後,我们要将预设使用的 Shell 改为 zsh,指令如下,如果有跳出提示 Password:,就键入你 Mac 的密码:

     $ chsh -s $(which zsh)
    

    以上指令可以透过 echo $SHELL 来验证是否成功,输出的结果会包含 /bin/zsh,如果没有就是不正确的结果哦!


  1. 将 zsh 设定好後,我们要安装 oh-my-zsh ,这是一个让我们很方便设定 zsh 的框架,透过修改 .zshrc 档案,就可以设定主题、客制化 Prompt (像是上一张图里的 chrishuang@Chris ~ % 的这一串)、新增插件来让 zsh 更方便好用等等。

    安装指令:

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

    等待安装好後,我们就可以来修改 .zshrc 来设定 zsh 罗!

    我们先来挑选喜欢的主题,可以到底下的连结去挑选,把喜欢的主题名字复制起来,设定 .zshrc 时会用到。 oh-my-zsh 主题

    或者你也可以跟我一样,使用其他主题,我是使用 Powerlevel9k ,一起来看看怎麽安装吧!先使用以下指令将档案下载到本地端:

     $ git clone https://github.com/bhilburn/powerlevel9k.git ~/.oh-my-zsh/custom/themes/powerlevel9k
    

    接着使用指令 open .zshrc 来打开设定档,找到文字开头为 ZSH_THEME 开头的那一行,接着将後方"xxx" 中间的文字替换成你喜欢的主题名字,以 Powerlevel9k 来说,就是把这行替换成 ZSH_THEME=powerlevel9k/powerlevel9k

    除此之外,我们还可以设定 Prompt,以及每个部份的颜色,这些设定相关的部分可以到 powerlevel9k 的 Github 去看,其实已经出了 Powerlevel10k ,但因为自己之前使用是 Powerlevel9k,或许之後有机会再跟大家介绍新版本的使用。

    这里直接提供我的设定,大家可以把这几行替换掉原本的 ZSH_THEME 那一行。

    ZSH_THEME=powerlevel9k/powerlevel9k
    POWERLINE9K_MODE='nerdfont-complete'
    POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(user dir vcs dir_writable)
    POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(status background_jobs time)
    POWERLEVEL9K_PROMPT_ADD_NEWLINE=true
    POWERLEVEL9K_DIR_HOME_BACKGROUND='211'
    POWERLEVEL9K_DIR_HOME_SUBFOLDER_BACKGROUND='211'
    POWERLEVEL9K_DIR_DEFAULT_BACKGROUND='211'
    

    最後按下 cmd + S 来储存档案。


  1. 设定完主题後,因为我们还没安装含有那些图示的字体,有些可能会显示不出来,因此最後我们来下载字体。
    先将字体下载到本地端:

     $ git clone https://github.com/powerline/fonts.git --depth=1
    

    等待下载完毕後,我们要开始安装:

     $ cd fonts
     $ ./install.sh
    

    等待指令跑完後,将刚刚下载的字体清掉:

     $ cd ..
     $ rm -rf fonts
    

  1. 真的最後的最後了,我们要把终端机的字体改成刚刚下载下来的字体,一样从上方的选单列选择 iTerm2 -> Preferences ,打开後选择到 Text 的标签,接着在 Font 的地方选择你想要的字体,我是使用 Source Code Pro for Powerline,你也可以选择其他你喜欢的!选择完毕後关掉这个视窗就可以了。

    接着在终端机输入以下指令,应该就能看到终端机变得跟原本不一样了!

     $ exec $SHELL
    

    除了颜色、字体以外,图标也都可以正常显示罗!


没想到这篇文章的篇幅这麽长,之後有机会再为大家介绍在 Windows 底下的 PowerShell 要怎麽像这样让它也有色彩、变漂亮,还有新版的 Powerlevel10k 要怎麽使用。

如果照着步骤还是失败的话,也欢迎留言来讨论看看可能是什麽原因造成的错误哦!


<<:  [JS] You Don't Know JavaScript [this & Object Prototypes] - this All Makes Sense Now! [下]

>>:  37.use API with Axios

[Day 15] ML 实验管理 — 翻开覆盖的陷阱卡~ 记帐小本本!

All life is an experiment. The more experiments y...

Day 21 好的自然排序抓住搜寻者的目光

如果说你每天花在广告的预算上有固定的规划,假设今天下午刚好预算已用完,所以当今天有真正有意消费的消费...

Day 3:安装 Hexo 前置作业:Node.js、Git、网页编辑器 VS code、文章编辑器 Typora

在架设 Hexo 之前,有些前置作业要先进行。其中由於 Hexo 是使用 Node.js 撰写,并且...

Swift 新手-运用 Bluetooth Low Energy

蓝牙低功耗(Bluetooth Low Energy,或称Bluetooth LE、BLE,旧商标B...

Day 21 单向资料流

第 21 天 ! 我们来了解 react 的 资料流(data flow), 在我们之前做的To D...