Some Great Fish Shell Plugins
As a long-time Linux user, I am pretty comfortable with command line interfaces. However, as I started learning more about automation and how important it is to get your computer to do more work for you, I leaned toward wanting my command line shell to do more. Eventually I switched to fish shell, a very user-friendly shell with excellent scripting capabilities that is far more readable and less obscure than bash.
Plugins for fish
There have been a few plugin managers over the years, but the one that seems to be the best maintained and most usable is fisher, created by Jorge Bucaran. It allows you to easily install plugins straight from GitHub repositories, while updates can be executed with a simple fisher update
on the command line.
z
One of the greatest command-line time savers ever is the z
command. Originally a bash script, it has been ported to fish and, frankly, I love it.
- What does it do?
z
provides shorthand for visiting directories based on a combination of frequency and recency—or "frecency".
If you frequently visit the /opt/calibre
directory, a z calib
command will allow you to jump straight there.
If you already have fisher installed, just use fisher install jethrokuan/z
and start playing around with z
.
pisces
Your IDE has been handling your parenthesis for ages. Now your shell can do the same! The pisces plugin has automatic matching symbol management for parenthesis, braces, quotes, and others.
- Install it with fisher using the command
fisher install laughedelic/pisces
and be matching parens in seconds!
plugin-emacs
Automation can help you interact with your editor from your shell. The Emacs plugin for fish was originally written for an unmaintained plugin manager called Oh My Fish. However, I wanted the plugin to work with fisher, so I made my own fork.
- How does it work? This plugin adds easy commands like
ef
anded
that allow you to open files and directories in Emacs quickly.
Install it quickly using the command fisher install pymander/plugin-emacs
and read more about it here.
vfish
Emacs users have probably heard of vterm, which is the Emacs package that interacts with libvterm. It is a powerful terminal emulator that runs in an Emacs buffer. I wrote a fish plugin called vfish that simplifies using fish in vterm.
- How does it work? Inside a vterm session, this plugin adds fish commands like
vf
andvd
to open files and directories quickly. It mirrors the Emacs plugin.
Install it using the command fisher install pymander/vfish
and read more about it here. Note that it will require some code to be added to your Emacs startup file.
apt
For Debian and Ubuntu users, the Oh My Fish apt plugin works seamlessly with fisher.
- What does it do? The apt plugin adds a wrapper around the
apt
andapt-get
commands that simplify package management from the command line.
Install this plugin quickly with fisher install oh-my-fish/plugin-apt
and then read more about it.
What's your favorite fisher plugin?
I love finding plugins that can help me automate more of my everyday tasks and workflows. What's your favorite fisher plugin?
Leave a comment below and let me know! Be sure to include a link.