shell增强术--iTerm2+zsh+oh-my-zsh安装部署

Posted by Nutlee on 2016-08-28

最近 Node.js、Ubuntu、Git 都用的很多,疯狂的敲了很多命令,闲来无事面对 MacOS 自带的拙劣终端终于忍不了了,动手搞了 iTerm2 + zsh + oh-my-zsh。网上此类资料很多,本文也没有什么特殊的,全当个人用来记录安装过程吧。

shell?bash?zsh?终端?

关于这几者的区别,我看到网上一个说法很好,shell 是“抽象类”,bash、zsh 都是“类的实例”,事实上 shell 是用户 Linux 之间的接口程序,你在提示符下输入的每个命令都由shell先解释然后传给Linux内核,而终端( iTerm2 )只是个 GUI 用来接入各种 shell 的。bash 和 zsh 略有不同,但不在本文的探讨范围,普通用户可以姑且当作一样啦。

为什么要安装 iTerm2?

如果是一个使用过 Linux/MacOS 的开发者,应该都能体会到命令行的强大。作为敲命令的直接工具,不能扩展功能,没有深度定制的高亮样式,系统自带的终端肯定会觉着枯燥。所以尝试下 iTerm2 就是为了完美主义者而产生的,并且使用 iTerm2 可以自由的切换 bash 和 zsh。

如何安装 iTerm2

安装 iTerm2 有多种方法,最最简单的肯定是访问官网下载安装。

不过,作为爱折腾的程序员,我们肯定不能满足于此啊。

安装 Homebrew && Homebrew cask

Homebrew 是 MacOS 上的套件管理器,主要面对开发者,你几乎可以用它下载和部署所有的软件/环境,类似于 iOS 上越狱后的 Cyida。一句话,如果你用 MacOS 工作,Homebrew 不可或缺。

  • 安装 Homebrew

    使用以下命令或者访问官网查看最新的安装方式。

    1
    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

    以后就可以使用类似以下命令安装软件/开发环境,你甚至可以用它来管理 Node.js 版本。

    1
    brew install <package_name>

    Homebrew-cask 主要针对普通用户,用来下载各种 GUI 程序,是 Homebrew 的补充。

  • 安装 Homebrew-cask

    使用以下命令或者访问官网查看最新的安装方式

    1
    brew tap caskroom/cask

    以后可以像这样安装第三方软件

    1
    2
    # QQ
    brew cask install qq

    搜索

    1
    brew cask search baidu

    其他命令

    1
    2
    3
    4
    5
    6
    // 检测homebrew环境
    brew doctor && brew cask doctor
    // 更新 清理
    brew update && brew upgrade brew-cask && brew cleanup && brew cask cleanup
    // 拆卸
    brew cask uninstall qq

使用 Homebrew-cask 安装 iTerm2

  • 安装只需要一行命令

    1
    brew cask install iterm2
  • 设置成默认终端

    在 打开 iTerm2 点击左上角 iTerm2 在点 Make iTerm2 Default Term,或者在 iTerm2 中直接按下快捷键 ⌃⇧⌘\

  • 设置配色方案

    iterm2colorschemes 或者 GitHub仓库 中把整个文件夹下载下来。

    在其中的 schemes 文件夹中先选好像设置的配色方案

    依次打开 iTerm2 –> Preferences –> Profiles –> colors –> 右下角 Color Presets 中 import,选择已经挑选好的 schemes 中的 .itermcolors 文件即可。

使用 Zsh

zsh 就是终极 shell。

  • 安装

    1
    brew install zsh
  • 将 bash 换成 zsh

    在/etc/shells文件末尾添加:

    1
    /usr/local/bin/zsh

    然后执行

    1
    chsh -s /usr/local/bin/zsh
  • 最后再将 ~/.bash_prorile 或者 ~/.profile 等配置拷贝到 ~/.zshrc文件中。

oh-my-zsh

可以对 zsh 的配置进行简化操作,内置了众多 zsh 插件。

  • 安装

    使用以下命令或者访问官网查看最新的安装方式。

    1
    sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
  • 插件

    以后在 ~/.zshrc 文件夹中 使用如下命令就可以使用 zsh 插件

    1
    2
    3
    # z 强大的目录自动跳转命令,会记忆你曾经进入过的目录,用模糊匹配快速进入你想要的目录
    # 使用 输入 z 然后输入某个目录的模糊名再看 Tab 键就好
    plugins=(git z)

    修改完后记得启用

    1
    source ~/.zshrc

    如果安装第三方插件 如 zsh-syntax-highlighting 实现自动判断输入正确命令绿色错误命令红色

    克隆插件

    1
    git clone git://github.com/zsh-users/zsh-syntax-highlighting.git

    如果没有安装 oh-my-zsh,就将克隆下来的 zsh-syntax-highlighting 中的 zsh-syntax-highlighting.zsh 文件路径 追加到 ~/.zshrc 文件中,如

    1
    source /Users/lixuan/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh

    如果安装了 oh-my-zsh 只需要将克隆下来的文件夹移动到

    1
    /Users/lixuan/.oh-my-zsh/plugins

    并在 ~/.zshrc 中追加上插件就好

    1
    plugins=(git z zsh-syntax-highlighting)
    • tree 插件

      可以树状显示文件结构

      1
      brew install tree

iTerm2 主题

sabertazimi 写的 dragon 主题为例

1
2
# 在任意位置clone主题
git clone git@github.com:sabertazimi/dragon-zsh-theme.git

复制其中的 dragon.zsh-themeoh-my-zshtheme 目录,默认为 ~/.oh-my-zsh/themes

修改 .zshrctheme 字段

1
ZSH_THEME="dragon"