如何在Ubuntu 16.04使用Fish shell

前言

我們在Ubuntu 16.04中,或是大家最常在Linux上用的shell命令就是bash了。可是在一般我們使用的情形之下,bash實在是會沒辦法達到我們的需求,這時候,就需要考慮其他的shell來使用了。那普遍最多人使用的是:zsh與fish shell是兩大宗。

本文章中,會教如何在Ubuntu 16.04下,安裝與一般使用fish shell的教學。

前置環境

  1. Ubuntu 16.04

安裝步驟

首先,先載入外部的,fish shell的儲存庫,因為Ubuntu 16.04內建的fish套件所收錄的版本較舊,我們要用較新的版本,因此我們需要先加入外部的fish shell儲存庫。接著更新好鏡像來源之後,就可以安裝新版的fish套件了。其依序的輸入命令如下:


sudo add-apt-repository ppa:fish-shell/release-2
sudo apt-get update
sudo apt-get install fish

fish shell的一般設定

一般安裝好fish之後,我們為了要有更好的fish shell體驗,我們會先使用oh-my-fish來幫助我們設定與增強fish的使用。前提是我們先需要在Ubuntu 16.04上安裝好curl套件,接著按照下面的指令將oh-my-fish下載下來並執行。


curl -L https://get.oh-my.fish | fish

在官網下面有一些實用的指令,像是update, install, theme, list以及remove等,都可以參照oh-my-fish官網的README,在此就不再做相關的贅述。不過下面會介紹與推薦一些fish shell的樣式與實用的工具。

Fish Shell 推薦樣式

下面是fish shell所推薦的樣式(theme):

  • cyan
  • ocean
  • bobthefish

更多的樣式介紹與使用方式在此連結

Fish Shell實用的工具推薦

接下來會是推薦實用的工具

  • nvm
  • phpbrew
  • gvm

NVM安裝

在fish shell底下安裝nvm(Node version manager)是一件容易的事情,只要輸入下面的指令就可以完成安裝。


omf install nvm

phpbrew安裝

同樣的,我們只需要書下面的指令,即可完成phpbrew的安裝。


omf install phpbrew

GVM安裝

因為gvm(Go version manager)並不在我們使用的omf安裝清單中,因此我們需要透過其他安裝外掛的工具,如fisherman來幫助我們完成其安裝。

安裝fisherman

首先先下載fisherman與安裝


curl -Lo ~/.config/fish/functions/fisher.fish --create-dirs https://git.io/fisher

上面指令安裝完成之後,就會有fisher這個指令可以使用了。

接著再使用fisher指令來安裝gvm


fisher gvm

安裝好之後,就會有gvm的指令可以使用與管理Go版本了。

後記

最近在Ubuntu 16.04使用fish shell的時候,一直以來都是用2.7版本,不過一直以來我在使用dpkg指令的時候,都會發生一件事情,就是指令執行之後,就會卡住,不知道什麼原因。

後來OS升級到Ubuntu 18.04與升級fish 3.0.0版本之後,這個問題就解決了,所以看起來是版本的問題。

而要升級到fish shell 3.0.0,則使用下面的指令就可以把fish shell 從2.7升級到3.0.0了。


sudo apt-add-repository ppa:fish-shell/release-3

sudo apt-get update

sudo apt-get install fish

參考資料