<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Technical Savvy</title>
    <description>The latest articles on DEV Community by Technical Savvy (@technical_savvy100).</description>
    <link>https://dev.to/technical_savvy100</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4228494%2F89345e5b-7813-4867-8ea6-034bd2a34039.jpg</url>
      <title>DEV Community: Technical Savvy</title>
      <link>https://dev.to/technical_savvy100</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/technical_savvy100"/>
    <language>en</language>
    <item>
      <title>5 Hidden-Gem Zsh Plugins You're Probably Not Using</title>
      <dc:creator>Technical Savvy</dc:creator>
      <pubDate>Thu, 05 Nov 2026 12:24:12 +0000</pubDate>
      <link>https://dev.to/technical_savvy100/5-hidden-gem-zsh-plugins-youre-probably-not-using-4in9</link>
      <guid>https://dev.to/technical_savvy100/5-hidden-gem-zsh-plugins-youre-probably-not-using-4in9</guid>
      <description>&lt;p&gt;&lt;em&gt;Five under-the-radar repos that fix everyday annoyances and give you a faster, safer and more pleasant terminal experience.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;Everyone knows &lt;code&gt;zsh-autosuggestions&lt;/code&gt; and &lt;code&gt;zsh-syntax-highlighting&lt;/code&gt;. But the &lt;a href="https://github.com/unixorn/awesome-zsh-plugins" rel="noopener noreferrer"&gt;awesome-zsh-plugins&lt;/a&gt; list has over a thousand entries, and some of the most practical ones fly well under the radar.&lt;/p&gt;

&lt;p&gt;I went through the list looking for plugins that solve a common annoyance, and kept only repos that are established enough to trust and still useful day to day. Each one makes working in the terminal a little nicer, and together they add up to a much more pleasant experience. These five made the cut.&lt;/p&gt;




&lt;h2&gt;
  
  
  Edit faster
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. zsh-edit-select
&lt;/h3&gt;

&lt;p&gt;Editing a long command shouldn't feel clumsy. This plugin brings a text-editor-like editing experience right to your shell prompt: select with &lt;strong&gt;Shift+Arrow&lt;/strong&gt;, then delete, type or paste over a selection to replace it, and use &lt;strong&gt;Ctrl/Cmd +C / X / V / Z&lt;/strong&gt; for copy, cut, paste and undo. And you can also apply all of these editing operations to mouse selections. It makes everyday editing feel far more natural.&lt;/p&gt;

&lt;p&gt;The catch: it needs a few keybindings set in your terminal config, though the README includes a guided installer for common terminals.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/Michael-Matta1/zsh-edit-select" rel="noopener noreferrer"&gt;github.com/Michael-Matta1/zsh-edit-select&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Stay safe
&lt;/h2&gt;

&lt;h3&gt;
  
  
  2. zsh-safe-rm
&lt;/h3&gt;

&lt;p&gt;A wrapper around &lt;code&gt;shell-safe-rm&lt;/code&gt; that makes &lt;code&gt;rm&lt;/code&gt; move files to your OS trash instead of deleting them forever. A slip of the finger becomes a quick recovery instead of a disaster, which makes the whole terminal feel more relaxed to work in. It also adds a &lt;code&gt;del&lt;/code&gt; alias, which is a good habit to build in case you ever land on a machine without the plugin.&lt;/p&gt;

&lt;p&gt;You can still bypass it with &lt;code&gt;\rm&lt;/code&gt; or &lt;code&gt;command rm&lt;/code&gt; when you really mean it. The last commit was in 2024, but it's a small, stable wrapper that doesn't need constant updates.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;antidote &lt;span class="nb"&gt;install &lt;/span&gt;mattmc3/zsh-safe-rm
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://github.com/mattmc3/zsh-safe-rm" rel="noopener noreferrer"&gt;github.com/mattmc3/zsh-safe-rm&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Start up faster
&lt;/h2&gt;

&lt;h3&gt;
  
  
  3. zsh-smartcache
&lt;/h3&gt;

&lt;p&gt;Those &lt;code&gt;eval "$(rbenv init -)"&lt;/code&gt; lines in your &lt;code&gt;.zshrc&lt;/code&gt; add up, and you feel it every time you open a new tab. Smartcache works like &lt;code&gt;evalcache&lt;/code&gt;, but it also refreshes the cache in the background and can cache completions. The author's benchmark shows &lt;code&gt;rbenv init&lt;/code&gt; dropping from about 48 ms to about 23.5 ms, so your prompt shows up sooner and the shell feels snappier.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# before&lt;/span&gt;
&lt;span class="nb"&gt;eval&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;$(&lt;/span&gt;rbenv init -&lt;span class="si"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;

&lt;span class="c"&gt;# after&lt;/span&gt;
smartcache &lt;span class="nb"&gt;eval &lt;/span&gt;rbenv init -
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://github.com/QuarticCat/zsh-smartcache" rel="noopener noreferrer"&gt;github.com/QuarticCat/zsh-smartcache&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  4. ez-compinit
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;compinit&lt;/code&gt; is one of the slowest and most confusing parts of a zsh config, because you have to get the load order right. ez-compinit wraps it so completion setup is deferred until your &lt;code&gt;fpath&lt;/code&gt; is fully populated, with sensible defaults and a choice of completion styles. The payoff is a shell that opens quickly and completes reliably, without the setup headaches.&lt;/p&gt;

&lt;p&gt;Load it near the top of your config, before anything that calls &lt;code&gt;compdef&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;zstyle &lt;span class="s1"&gt;':plugin:ez-compinit'&lt;/span&gt; &lt;span class="s1"&gt;'compstyle'&lt;/span&gt; &lt;span class="s1"&gt;'zshzoo'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://github.com/mattmc3/ez-compinit" rel="noopener noreferrer"&gt;github.com/mattmc3/ez-compinit&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Read your output in color
&lt;/h2&gt;

&lt;h3&gt;
  
  
  5. zsh-bat
&lt;/h3&gt;

&lt;p&gt;Plain &lt;code&gt;cat&lt;/code&gt; output and gray man pages are hard on the eyes. zsh-bat swaps &lt;code&gt;cat&lt;/code&gt; for &lt;a href="https://github.com/sharkdp/bat" rel="noopener noreferrer"&gt;bat&lt;/a&gt;, so files print with syntax highlighting and line numbers, and it adds syntax highlighting to &lt;code&gt;man&lt;/code&gt; pages as well. Reading files and docs in the terminal becomes a much nicer experience. Your muscle memory stays the same, and the real &lt;code&gt;cat&lt;/code&gt; is still there as &lt;code&gt;rcat&lt;/code&gt; whenever you need it.&lt;/p&gt;

&lt;p&gt;You need &lt;code&gt;bat&lt;/code&gt; installed first, since the plugin does nothing without it. Then clone it into your Oh My Zsh custom plugins directory and add it to your plugin list.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/fdellwing/zsh-bat.git &lt;span class="nv"&gt;$ZSH_CUSTOM&lt;/span&gt;/plugins/zsh-bat

&lt;span class="c"&gt;# in ~/.zshrc&lt;/span&gt;
&lt;span class="nv"&gt;plugins&lt;/span&gt;&lt;span class="o"&gt;=(&lt;/span&gt;... zsh-bat&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://github.com/fdellwing/zsh-bat" rel="noopener noreferrer"&gt;github.com/fdellwing/zsh-bat&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Extra gem (bonus)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  6. clipboard
&lt;/h3&gt;

&lt;p&gt;A tiny cross-platform clipboard helper that works on macOS, X11/Wayland, WSL and MSYS2/Cygwin. It gives you &lt;code&gt;pbcopy&lt;/code&gt; and &lt;code&gt;pbpaste&lt;/code&gt; everywhere, plus a &lt;code&gt;clip&lt;/code&gt; wrapper that copies when you pipe into it and prints the clipboard when you don't.&lt;/p&gt;

&lt;p&gt;That means your &lt;code&gt;cat file | pbcopy&lt;/code&gt; muscle memory works on any machine, and moving between systems feels seamless instead of jarring.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;plugins&lt;/span&gt;&lt;span class="o"&gt;=(&lt;/span&gt;... clipboard&lt;span class="o"&gt;)&lt;/span&gt;   &lt;span class="c"&gt;# oh-my-zsh&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://github.com/zpm-zsh/clipboard" rel="noopener noreferrer"&gt;github.com/zpm-zsh/clipboard&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;Got a hidden gem of your own? Drop it in the comments.&lt;/p&gt;

</description>
      <category>zsh</category>
      <category>macos</category>
      <category>linux</category>
      <category>cli</category>
    </item>
  </channel>
</rss>
