Welcome to fish-shell
When I started using the fish-shell and entered in a nice community
Yesterday I tryed the fish-shell.
Well, in the morning I noticed that the Homepage was broken so I opened an issue and I got a really quick response. I thought the following:
there is one big internet community
where people help each other, in fact I can get a great piece of software and contribute back with a pr, opening an issue or whatever.
The community around fish-shell is part of that big community. In the evening I was also contacted by bucaran who is the author of many quality software projects, in particular fisherman.
So, I was really stimulated from the first day and most of all: fish-shell looks great.
First impressions
Tab completions, autosuggestions and syntax highlighting is really captivating! You can also update
it by parsing installed man pages with fish_update_completion
.
Web based configuration with fish_config
seems a good idea but I tried it and customized few things and got an issue in the configuration.
Don’t worry, to reset configuration just launch rm -rf $HOME/.config/fish
.
In general, fish shell Design is really interesting and fascinating.
Cons
To be honest, right now I am missing my bash aliases and functionalities but I guess this nostalgia will not last long.
fish-shell seems not linked to GNU Readline, so for example CTRL-X-X shortcut which moves the cursor form the end of the line to the beginning and vice-versa does not work.
If I launch vi /path/to/file
syntastic plugin complains
syntastic: error: your shell /usr/local/bin/fish can't handle traditional UNIX syntax for redirections
Press ENTER or type command to continue
However, if I use vim
instead, it works.
Mmh, the day after I opened an issue here and got a quick answer that made my solve it. Yes, there is One Big community :)
By the way, you should add this line on top of your .vimrc, before loading any plugin
set shell=/bin/sh
Setup
I tryed it on Linux and OSX. On OSX you can install it with Homebrew
brew install fish
then to make it your default shell edit /etc/shells, for instance with sudo vi /etc/shells
,
and add the row
/usr/local/bin/fish
then run
chsh -s /usr/local/bin/fish
Plugins
So let’s try fisherman, and let’s trust its author too! Just launch
curl -L install.fisherman.sh | fish
(by the way, it works also from a bash shell :)
Ok ok, for those who do not feel comfortable with piping external content to their shell: you are right! Take a look to Installing fisherman detailed instructions.
First thing I miss is z which I installed at path ~/.shell/z/z.sh.
Install it with
fisher install omf/plugin-z
then configure a Z_SCRIPT_PATH
variabile with the path where z.sh is installed
echo "set -g Z_SCRIPT_PATH ~/.shell/z/z.sh" >> ~/.config/fish/config.fish
Yes, fish-shell can run bash programs, and furthermore my z history is shared among shells.
It’s time to defeat bash nostalgia, let’s install Shellder, a beautiful powerline prompt. OSX Terminal supports powerline patched fonts, I chose Roboto Mono Medium for Powerline font. You can get them from powerline/fonts repo.
Once you have the proper fonts installed, launch
fisher install shellder
and you will get this
If you want a nice minimal prompt, that does not require powerline patched fonts, try
fisher install pure
Resources
- awesome-fish.
- fisherman.
- Oh My Fish: The Fishshell Framework.