https://wiki.archlinux.org/title/Fish
My favorite. Simple, has a lot of great features from the get-go
not too great on the eyes, but lets give it a try anyways. If I don’t like it, we go to zsh.
then just type fish
and look, it has autocomplete showed
to set fish as the default shell, first find the fish directory.
for me it is /usr/bin/fish
then I type chsh -s /usr/bin/fish
reboot and then you will see the new shell
pretty nice.
You can also use tab to autocomplete/search for autocomplete. Great features
but.. fish is not POSIX compliant
Fish plugins
Download fisher which is just for quality of life, it is the main repository for fish plugins.
https://github.com/jorgebucaran/fisher
use fisher list to list all currently installed plugins.
at the moment I have none.
Lets learn to zest up fish.
This: https://github.com/jorgebucaran/awsm.fish#readme
is a fuckin goldmine.
It has plugins, prompts, and community links all inside of it.
Themes
Tide is how we get fish themes. It is a plugin for fish that we can get with fisher
https://github.com/IlanCosman/tide
then we configure our prompt.
I don’t like zsh styles. I will go with lean. I LOVE LEAN
then prompt colors
il try 2 for now, if I don’t like it il idk remove the tide and reinstall.
no current time.
one line please
lets do sparse actually, give it new flavour
many Icons. We will get icons later.
Then I press Y and we have our new tide
this is beautiful.
Font Awesome will allow you to get the icons
FZF
https://github.com/patrickf1/fzf.fish
makes finding things in fish easier. Has a little display for things too.
firstly, install these with pacman
CTRL+ALT+F – Find a file
CTRL+ALT+P – search for a process
CTRL+V – search for a variable. Doesn’t include all of them
Fish configuration
I, ok, I wanted to add something cool but I failed so but I still added something cool that I didn’t want to add in the first place but I might need so it is this:
CTRL+BCKSPACE delete the entire line in terminal. I wanted it to delete a single string seperated by whitespace, but it deletes the whole line. Still handy to have.
Put this line in your ~/.config/fish/config.fish