Awosome fish

2016-10-10

如果你是一位 MAC OS 或是 Linux 的使用者,那麼你一定會跟我一樣煩惱要安裝哪一套 Bash Sell?通常來說應該會有兩種選項:

  1. zsh
  2. fish
  3. ... 好像也沒有第三個選項了,我身邊的朋友好像也都是用這兩套

拉我入坑的朋友安裝了 zsh,我天生反骨就想要安裝另一套試試看,就選擇了 fish(這理由也太爛了吧?好拉我承認我懶,所以我想要“語法高亮”這個強大的功能!),故此篇文章會以 MAC 為例,教你如何從無到有安裝好 fish 的環境。

這篇你會學到

  1. 安裝 fish 之前需要有的東西
  2. 安裝 fish(廢話)
  3. fish 的套件管理器 fisherman
  4. 解決安裝了 fish 後找不到 npm 指令問題
  5. 推薦好用的 fish 套件

安裝 Homebrew

MAC OS 缺少的套件管理器,基本上這個應該是 MAC OS 開發者必裝的軟體了,我們要先安裝 Homebrew 才能安裝後續的東西唷!

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

安裝 iTerm2

雖然 MAC OS 本身有預設的終端機,但功能陽春,有更好的軟體我們當然會選擇更好用的 iTerm2!

請直接到 這裡 下載並安裝.

安裝後,請直接換掉 MAC OS 預設的終端機,以後都直接使用 iTerm2 即可。更多的 iTerm2 設定可以到 官方文件 觀看。

安裝 git

一套當前火紅、開源、分散式的版本控管系統,身為開發者的我們電腦裡面有 git 也是很正常的(? 只要有了 Homebrew 要安裝什麼其實都不是問題啊~!

1
$ brew install git

安裝 nvm & npm

nvm 是 Node.js 的版本控制系統,而 npm 是 Node.js 的套件管理系統!(也太多 管理系統了吧 ...)這邊也是透過 Homebrew 就可以安裝囉!

1
$ brew install nvm

安裝完 nvm 就有 nvm 的指令可以使用了!

1
$ nvm ls-remote

列出所有可以安裝的 Node.js 版本

1
$ nvm install <version>

安裝你所指定的版本,安裝完畢後就有 npm 的指令囉!

安裝 fish

一套在 MAC OS 和 Linux 簡單且智慧的 Bash Sell。

安裝

Step.1 透過 Homebrew 安裝 fish

1
$ brew install fish

Step.2 把 fish 加進 shell 列表中

1
$ echo "/usr/local/bin/fish" | sudo tee -a /etc/shells

Step.3 設定 fish 為預設的 bash shell

1
$ chsh -s /usr/local/bin/fish

設定 fish

Step.1 新增 fish 設定檔的資料夾

1
$ mkdir -p ~/.config/fish

Step.2 新增 fish 設定檔

1
$ vim ~/.config/fish/config.fish

Step.3 新增環境變數到 fish 設定檔

1
set -g -x PATH /usr/local/bin $PATH

Step.4 存檔後重新啟動 bash shell (iTerm2),下 "fish_config" 指令,你就可以在“瀏覽器”上設定你的 fish 囉!

1
$ fish_config

安裝 fish 套件管理系統 fisherman

謎之音:又是套件管理系統 ...XD

1
$ curl -Lo ~/.config/fish/functions/fisher.fish --create-dirs git.io/fisher

安裝完,就有 fisher 指令可以安裝套件

1
$ fisher <owner/git-repository-name>

舉例:我想安裝 RED SNAPPER 這個套件,你可以這樣下指令:

1
$ fisher oh-my-fish/theme-red-snapper

解決安裝 fish 後找不到 npm 指令問題

我們可以透過 fisherman 套件安裝 nvm,這樣 fish 就會知道什麼是 npm!這個動作並不是重新安裝 nvm 而是把 fish 與我們安裝好的 nvm 與 npm 連結起來!

1
$ fisher nvm

推薦好用的顯示 git 狀態 fish 套件

你可以從 fish 直覺的看到目前資料夾的 git-status!

RED SNAPPER

這個套件充滿了各種『魚』,看了幾個類似套件後決定安裝這個套件,讓你在工作中可以有一點小小的樂趣~

1
$ fisher oh-my-fish/theme-red-snapper

以上就是我自己安裝 fish 的過程,我也正在使用,希望各位會喜歡!此外同一篇文章我也發表在我的 Github - awosome fish 也可以直接到那邊觀看英文版的文章!

參考資料

  1. Homebrew
  2. iTerm2
  3. fish
  4. oh-my-fish
  5. fisherman
  6. install-fish-shell-on-os-x
  7. nodejs-installation-guide
  8. Getting-Started-Installing-Git