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.
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?
zprovides 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
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/piscesand be matching parens in seconds!
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
edthat 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.
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
vdto 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.
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-getcommands 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.