MacOS Zsh

Zsh Layout

Zsh

Zsh 是 Linux 的一种 Shell 外壳,和 bash 属于同类产品, 都是命令解释器。Mac 和一般 Linux 默认的 Shell 是 bash。

特色:

  • 不区分大小写智能提示。我是不喜欢大小写区分的那种人,所以用了 zsh 之后,经常按 Tab 进行提示。
  • 此外按下 tab 键显示出所有待选项后,再按一次 tab 键,即进入选择模式,进入选择模式后,按 tab 切向下一个选项,按 shift + tab 键切向上一个选项,ctrl+f/b/n/p 可以向前后左右切换。
  • kill + 空格键 + Tab 键,列出运行的进程
    • 要啥哪个进程不需要再知道 PID 了,当然了 zsh,提供了让你知道 PID 的方法:比如输入:kill vim,再按下 tab,会变成:kill 5643
  • ls **/*,分层级地列出当前目录下所有文件及目录,并递归目录
  • ls *.png 查找当前目录下所有 png 文件
  • ls **/*.png 递归查找
  • zsh 的目录跳转很智能,你无需输入 cd 就可直接输入路径即可。比如:.. 表示后退一级目录,../../ 表示后退两级,依次类推。
  • 在命令窗口中输入:d,将列出当前 session 访问过的所有目录,再按提示的数字即可进入相应目录。

添加自己 Functions

  1. Create file ./zsh-funcs.zsh with below funcations:

    1
    2
    3
    say-helloworld(){
    echo 'Hello World!'
    }
  2. Add the following to your ~/.zshrc:
    source ~/zsh-funcs.zsh

  3. Start a new terminal session. now you can run commond say-helloworld.

安装配置

Zsh

Zsh (Mac 系统自带,无需安装)。

  • 可以通过 cat /etc/shells.
    cat /etc/shells
  • echo $SHELL 查看默认 Shell
  • chsh -s /bin/zsh
    change shell

oh-my-zsh

由于 Zsh 配置门槛有点高,或者说需要专门花时间去了解 Zsh 才能配置好一个好用的 Zsh,也因为这样,用户也就相对少了。直到有一天 oh-my-Zsh 的作者诞生,他想要整理出一个配置框架出来,让大家直接使用他的这个公认最好的 Zsh 配置,省去繁琐的配置过程。所以,oh-my-Zsh 就诞生了,它只是会了让你减少 Zsh 的配置,然后又可以好好享受 Zsh 这个 Shell。

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

  • 安装 Monaco for Powerline 字体, 将该仓库克隆到本地,然后进入工程目录的 Monaco 目录,双击后缀名为 .otf 的字体文件即可完成该字体的安装。安装该字体的原因主要是为了和 Oh-My-Zsh 的 powerlevel9k 主题相兼容,如果不安装该字体,那么后面安装 powerlevel9kn 主题后会出现乱码。

  • 安装主题Oh-My-Zsh powerlevel9k 主题
    git clone https://github.com/bhilburn/powerlevel9k.git ~/.oh-my-zsh/custom/themes/powerlevel9k
    更多关于该主题的定制请看 customizing-prompt-segments

    • 修改 ~/.zshrc 配置文件,配置该主题ZSH_THEME="powerlevel9k/powerlevel9k"

    • 默认的命令提示符为 user@userdemackbookPro,这样的提示符配合 powerlevel9k 主题太过冗长,因此我选择将该冗长的提示符去掉,在 ~/.zshrc 配置文件后面追加如下内容
      DEFAULT_USER=”user”

    • 设置 oh-my-zsh powerlevel9k 主题左边元素显示

      1
      2
      POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(context dir rbenv vcs) # 设置 oh-my-zsh powerlevel9k 主题右边元素显示
      POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(status root_indicator background_jobs time)
  • 配置 zsh 命令语法高亮, zsh-syntax-highlighting

    • Clone this repository in oh-my-zsh’s plugins directory:
      git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
      active oh-my-zsh
  • 关于 oh-my-zsh 插件的管理是很简单的,有两个插件目录:

    • /Users/user/.oh-my-zsh/plugins: oh-my-zsh 官方插件目录,该目录已经预装了很多实用的插件,只不过没激活而已.
      oh-my-zsh 插件的管理
      • git:oh-my-zsh 默认开启的,没什么好说的;
      • extract:通用的解压缩插件,可以解压缩任何后缀的压缩文件,使用方法很简单:x 文件名;
      • z:很智能的目录跳转插件,能记录之前 cd 过哪些目录,然后模糊匹配跳转,不需要输入全路径即可跳转,使用方法:z dir_pattern
        z:很智能的目录跳转插件
        注意: 重启生效。
    • /Users/user/.oh-my-zsh/custom/plugins: oh-my-zsh 第三方插件目录;

zsh-autosuggestions

macOS via Homebrew

  1. Install the zsh-autosuggestions package using Homebrew.

    brew install zsh-autosuggestions

  2. Add the following to your .zshrc:

    source /usr/local/share/zsh-autosuggestions/zsh-autosuggestions.zsh

  3. Start a new terminal session.

安装 awesome-terminal-font

参考

感谢支持,让我安静的做蚂蚁梦!