<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" >

  <title>Erik L. Arneson — Writer and Software Developer</title>
  <subtitle>Erik L. Arneson is a freelance writer and software developer with WordPress experience. He is located in Portland, Oregon.</subtitle>
  <generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator>
  <link href="https://arnesonium.com/feeds/command-line.xml" rel="self" type="application/atom+xml" />
  <link href="https://arnesonium.com/" rel="alternate" type="text/html" />
  <updated>2026-06-18T15:03:10+00:00</updated>
  <id>https://arnesonium.com/feeds/command-line.xml</id>
  <author>
    <name>Erik L. Arneson</name>
  </author>
      <entry>
        
        <title>Some Great Fish Shell Plugins</title>
        <author>
          <name>Erik L. Arneson</name>
        </author>        
        <link href="https://arnesonium.com/2022/09/some-great-fish-shell-plugins/" rel="alternate" type="text/html" title="Some Great Fish Shell Plugins" />
        <updated>2022-09-23T17:44:00+00:00</updated>
        <id>https://arnesonium.com/2022/09/some-great-fish-shell-plugins</id>
          <category term="automation" />
        
          <category term="command-line" />
        
          <category term="emacs" />
        
          <category term="fish-shell" />
        
          <category term="howto" />
        
          <category term="ide" />
        
          <category term="shell" />
        <content type="html" xml:base="https://arnesonium.com/2022/09/some-great-fish-shell-plugins/">&lt;p&gt; 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 &lt;a href=&quot;https://fishshell.com/&quot;&gt;fish shell&lt;/a&gt;, a very user-friendly shell with excellent scripting capabilities that is far more readable and less obscure than bash. &lt;/p&gt;
&lt;!--more--&gt;
&lt;div id=&quot;outline-container-orgbd4e930&quot; class=&quot;outline-2&quot;&gt;
&lt;h2 id=&quot;orgbd4e930&quot;&gt;Plugins for fish&lt;/h2&gt;
&lt;div class=&quot;outline-text-2&quot; id=&quot;text-orgbd4e930&quot;&gt;
&lt;p&gt; There have been a few plugin managers over the years, but the one that seems to be the best maintained and most usable is &lt;a href=&quot;https://github.com/jorgebucaran/fisher&quot;&gt;fisher&lt;/a&gt;, created by &lt;a href=&quot;https://twitter.com/jorgebucaran&quot;&gt;Jorge Bucaran&lt;/a&gt;. It allows you to easily install plugins straight from GitHub repositories, while updates can be executed with a simple &lt;code&gt;fisher update&lt;/code&gt; on the command line. &lt;/p&gt;
&lt;/div&gt;

&lt;div id=&quot;outline-container-org0108c85&quot; class=&quot;outline-3&quot;&gt;
&lt;h3 id=&quot;org0108c85&quot;&gt;z&lt;/h3&gt;
&lt;div class=&quot;outline-text-3&quot; id=&quot;text-org0108c85&quot;&gt;
&lt;p&gt; &lt;b&gt;One of the greatest command-line time savers ever&lt;/b&gt; is the &lt;code&gt;z&lt;/code&gt; command. Originally a bash script, it has been ported to fish and, frankly, I love it. &lt;/p&gt;

&lt;ul class=&quot;org-ul&quot;&gt;
&lt;li&gt;&lt;b&gt;What does it do?&lt;/b&gt; &lt;code&gt;z&lt;/code&gt; provides shorthand for visiting directories based on a combination of frequency and recency&amp;#x2014;or &quot;frecency&quot;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt; If you frequently visit the &lt;code&gt;/opt/calibre&lt;/code&gt; directory, a &lt;code&gt;z calib&lt;/code&gt; command will allow you to jump straight there. &lt;/p&gt;

&lt;p&gt; If you already have fisher installed, just use &lt;code&gt;fisher install jethrokuan/z&lt;/code&gt; and start playing around with &lt;code&gt;z&lt;/code&gt;. &lt;/p&gt;

&lt;p&gt; &lt;a href=&quot;https://github.com/jethrokuan/z&quot;&gt;You can read more about &lt;code&gt;z&lt;/code&gt; here.&lt;/a&gt; &lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div id=&quot;outline-container-orga78b5fb&quot; class=&quot;outline-3&quot;&gt;
&lt;h3 id=&quot;orga78b5fb&quot;&gt;pisces&lt;/h3&gt;
&lt;div class=&quot;outline-text-3&quot; id=&quot;text-orga78b5fb&quot;&gt;
&lt;p&gt; &lt;b&gt;Your IDE has been handling your parenthesis for ages.&lt;/b&gt; Now your shell can do the same! The &lt;a href=&quot;https://github.com/laughedelic/pisces&quot;&gt;pisces&lt;/a&gt; plugin has automatic matching symbol management for parenthesis, braces, quotes, and others. &lt;/p&gt;

&lt;ul class=&quot;org-ul&quot;&gt;
&lt;li&gt;&lt;b&gt;Install it with fisher&lt;/b&gt; using the command &lt;code&gt;fisher install laughedelic/pisces&lt;/code&gt; and be matching parens in seconds!&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt; &lt;a href=&quot;https://github.com/laughedelic/pisces&quot;&gt;You can read more about the pisces plugin here.&lt;/a&gt; &lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div id=&quot;outline-container-orgc02da30&quot; class=&quot;outline-3&quot;&gt;
&lt;h3 id=&quot;orgc02da30&quot;&gt;plugin-emacs&lt;/h3&gt;
&lt;div class=&quot;outline-text-3&quot; id=&quot;text-orgc02da30&quot;&gt;
&lt;p&gt; &lt;b&gt;Automation can help you interact with your editor&lt;/b&gt; from your shell. The &lt;a href=&quot;https://github.com/pymander/plugin-emacs&quot;&gt;Emacs plugin for fish&lt;/a&gt; was originally written for an unmaintained plugin manager called &lt;a href=&quot;https://github.com/oh-my-fish/oh-my-fish&quot;&gt;Oh My Fish&lt;/a&gt;. However, I wanted the plugin to work with fisher, so I made &lt;a href=&quot;https://github.com/pymander/plugin-emacs&quot;&gt;my own fork&lt;/a&gt;. &lt;/p&gt;

&lt;ul class=&quot;org-ul&quot;&gt;
&lt;li&gt;&lt;b&gt;How does it work?&lt;/b&gt; This plugin adds easy commands like &lt;code&gt;ef&lt;/code&gt; and &lt;code&gt;ed&lt;/code&gt; that allow you to open files and directories in Emacs quickly.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt; Install it quickly using the command &lt;code&gt;fisher install pymander/plugin-emacs&lt;/code&gt; and &lt;a href=&quot;https://github.com/pymander/plugin-emacs&quot;&gt;read more about it here&lt;/a&gt;. &lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div id=&quot;outline-container-orga8ddcd0&quot; class=&quot;outline-3&quot;&gt;
&lt;h3 id=&quot;orga8ddcd0&quot;&gt;vfish&lt;/h3&gt;
&lt;div class=&quot;outline-text-3&quot; id=&quot;text-orga8ddcd0&quot;&gt;
&lt;p&gt; &lt;b&gt;Emacs users have probably heard of vterm,&lt;/b&gt; which is the &lt;a href=&quot;https://github.com/akermu/emacs-libvterm&quot;&gt;Emacs package that interacts with libvterm&lt;/a&gt;. It is a powerful terminal emulator that runs in an Emacs buffer. I wrote &lt;a href=&quot;https://github.com/pymander/vfish&quot;&gt;a fish plugin called vfish&lt;/a&gt; that simplifies using fish in vterm. &lt;/p&gt;

&lt;ul class=&quot;org-ul&quot;&gt;
&lt;li&gt;&lt;b&gt;How does it work?&lt;/b&gt; Inside a vterm session, this plugin adds fish commands like &lt;code&gt;vf&lt;/code&gt; and &lt;code&gt;vd&lt;/code&gt; to open files and directories quickly. It mirrors the Emacs plugin.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt; Install it using the command &lt;code&gt;fisher install pymander/vfish&lt;/code&gt; and &lt;a href=&quot;https://github.com/pymander/vfish&quot;&gt;read more about it here&lt;/a&gt;. Note that &lt;b&gt;it will require some code&lt;/b&gt; to be added to your Emacs startup file.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div id=&quot;outline-container-orgf6c1785&quot; class=&quot;outline-3&quot;&gt;
&lt;h3 id=&quot;orgf6c1785&quot;&gt;apt&lt;/h3&gt;
&lt;div class=&quot;outline-text-3&quot; id=&quot;text-orgf6c1785&quot;&gt;
&lt;p&gt; For Debian and Ubuntu users, the &lt;a href=&quot;https://github.com/oh-my-fish/plugin-apt&quot;&gt;Oh My Fish apt plugin&lt;/a&gt; works seamlessly with fisher. &lt;/p&gt;

&lt;ul class=&quot;org-ul&quot;&gt;
&lt;li&gt;&lt;b&gt;What does it do?&lt;/b&gt; The apt plugin adds a wrapper around the &lt;code&gt;apt&lt;/code&gt; and &lt;code&gt;apt-get&lt;/code&gt; commands that simplify package management from the command line.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt; Install this plugin quickly with &lt;code&gt;fisher install oh-my-fish/plugin-apt&lt;/code&gt; and then &lt;a href=&quot;https://github.com/oh-my-fish/plugin-apt&quot;&gt;read more about it&lt;/a&gt;. &lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div id=&quot;outline-container-orgef254fe&quot; class=&quot;outline-2&quot;&gt;
&lt;h2 id=&quot;orgef254fe&quot;&gt;What&apos;s your favorite fisher plugin?&lt;/h2&gt;
&lt;div class=&quot;outline-text-2&quot; id=&quot;text-orgef254fe&quot;&gt;
&lt;p&gt; I love finding plugins that can help me automate more of my everyday tasks and workflows. What&apos;s your favorite fisher plugin? &lt;/p&gt;

&lt;p&gt; Leave a comment below and let me know! Be sure to include a link. &lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;</content>
      </entry>
    
</feed>
