Fish

    I am currently using fish as my default shell, this my setup.

    Install

    Install fish through homebrew.
      #!/bin/bash
      which -s fish || brew install fish
    Add fish to /etc/shells
      if grep -qF "fish" /etc/shells;then
          echo 'fish is already in /etc/shells'
      else
          echo "/usr/local/bin/fish" | sudo tee -a /etc/shells
      fi
    Change shell.
      if [[ $SHELL != *"fish" ]]; then
          chsh -s /usr/local/bin/fish
      else
          echo "already using fish"
      fi
    Install fisherman.
      curl -Lo ~/.config/fish/functions/fisher.fish --create-dirs https://git.io/fisher
    Install plugins.
      fisher

    Config

    fish config file `~/.config/fish/config.fish`.
      set -g -x PATH /usr/local/bin $PATH
      set -g -x fish_greeting ''
      # turn off the fancy font
      # set -g theme_powerline_fonts no
      # use nerd font
      set -g theme_nerd_fonts yes
      # set JAVA_HOME
      # set -Ux JAVA_HOME (/usr/libexec/java_home)
      # rbenv
      # status --is-interactive; and source (rbenv init -|psub)

    Plugins

    fisherman is plugin manager for fish shell. I try not to use lots of plugins. The following content goes to `~/.config/fish/fishfile`.
      oh-my-fish/theme-bobthefish