Josh Medeski Memoji Josh Medeski


Why I Switched from ZSH to FISH

Why I Switched from ZSH to FISH hero

I’ve been using the zsh terminal with the infamous oh-my-zsh framework for many years now. The features and improvements it makes on plain old bash are impressive. But as my needs change, so does my shell. I made the switch to the fish shell almost a year ago and here is why I switched.


fish is faster than zsh. Especially when using zsh plugins the loading time alone is significantly slower. But more than that, the overall experience for me feels snappier and more responsive in the fish shell. Since I’m using the terminal to be more efficient and get things done faster than a GUI, speed is one of my top requirements for my shell.


The oh-my-zsh configuration and plugins tend to add complexity to the terminal environment, especially custom aliases. Overall, I have found fish to be much simpler regarding configuration and usage. My config file is only a few lines long and I’m only using one or two plugins for third party utilities (ex: fasd and nvm). I also found a very simple theme that only shows me what I need, similar to my previous zsh theme.


This is the main reason I moved to fish. I originally was using the zsh-autosuggestions which is “Fish-like autosuggestions for zsh”. This is what drew me to fish, this is by far my most used feature. If I mistype a command, it will show in red to indicate that it’s an invalid command. But, more importantly, while I type the prompt auto-suggests my previous commands (by recent and most used). This is far quicker than ctrl+r and usually shows me the command I want 80%+ of the time. Again, this is the main reason I use fish and one of my favorite productivity tools on my computer, period.

Vim Mode

I’ve been a vim user for many years now. What I love about vim is it’s intuitiveness and efficiency (once you’ve really gotten it down). I know zsh offers a vim-mode but I was happy to learn fish has one as well. It a sort of simplified vi hybrid but it does all I need it to do.


fish is fast, simple, offers powerful autosuggestion and a vim mode. These are the most important thing for me right now in the terminal so I proudly made the switch to this friendly interactive shell and haven’t looked back.


These are a few of my favorite things.


My developer environment


How I build websites and apps

Desk Setup

The space that helps me create


How I get things done

Personal Development

Creating a meaningful life

Stay up to date

Get updates on my latest content on web development, vim, macOS, working from home, productivity, and more.

Sign up to my newsletter