Fish Shell
Fish Shell is a simple and well-designed shell for Unix based systems.
The great thing about Fish is it provides a decent set of default functionality (e.g., auto suggestions, custom prompt, etc.) without maintaining complex configuration.
Installing fish for Ubuntu
sudo apt-add-repository ppa:fish-shell/release-3
sudo apt update
sudo apt install fish
Install Fisher, the plugin manager
Whilst Fish provides a really good set of default settings, it’s still possible to add additional features via plugins. Installing plugins is done using the Fisher plugin manager
curl -sL https://raw.githubusercontent.com/jorgebucaran/fisher/main/functions/fisher.fish | source && fisher install jorgebucaran/fisher
Install plugins
Tide
Tide is a decent prompt which also includes an interactive configuration tool.
fisher install IlanCosman/tide
tide configure
NVM
Installing Node Version Manager is done via an NVM fish plugin.
fisher install jorgebucaran/nvm.fishi
nvm install 18
Puffer Fish
The Puffer Fish plugin provides a lazy way to “jump back up” the directory hierarchy using consecutive dots, instead of dots and slashes.
fisher install nickeb96/puffer-fish
# to jump to ../../../
......
Z
The Z plugin makes jumping between directories a breeze. For example, if I am editing my site and then want to jump back into the _site
directory, I can simply type z _site
.
fisher install jethrokuan/z
z _site
Where next?
That was just a brief look at how I’ve set up Fish on my system. There’s a lot more that can be done which I haven’t covered here (e.g., using aliases and scripting). The best place to start digging deeper is the Fish documentation.