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.

You can read more about z here.

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!

You can read more about the pisces plugin here.

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 and ed 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 and vd 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 and apt-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.