<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Tooling on Jake Worth</title><link>https://jakeworth.com/tags/tooling/</link><description>Recent content in Tooling on Jake Worth</description><image><title>Jake Worth</title><url>https://jakeworth.com/twittercard.png</url><link>https://jakeworth.com/twittercard.png</link></image><generator>Hugo</generator><language>en-us</language><lastBuildDate>Wed, 01 Jul 2026 11:45:19 -0400</lastBuildDate><atom:link href="https://jakeworth.com/tags/tooling/index.xml" rel="self" type="application/rss+xml"/><item><title>Unalias an Alias</title><link>https://jakeworth.com/tils/unalias-an-alias/</link><pubDate>Wed, 01 Jul 2026 11:45:19 -0400</pubDate><guid>https://jakeworth.com/tils/unalias-an-alias/</guid><description>&lt;p&gt;Sometimes I want to iterate on an alias. You can unalias an alias like this:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;unalias aliasname
&lt;/code&gt;&lt;/pre&gt;</description></item><item><title>Concatenate Non-Printing Characters</title><link>https://jakeworth.com/tils/cat-non-printing-characters/</link><pubDate>Tue, 30 Jun 2026 12:29:45 -0400</pubDate><guid>https://jakeworth.com/tils/cat-non-printing-characters/</guid><description>&lt;p&gt;I&amp;rsquo;ve been writing some non-printing characters to a file. But when I
concatenate, it appears empty.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;cat log.txt
# Nothing here 🥺
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;code&gt;cat&lt;/code&gt; those non-printing characters with &lt;code&gt;-v&lt;/code&gt;:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;cat -v log.txt
jjjj:wq^M%
&lt;/code&gt;&lt;/pre&gt;</description></item><item><title>Prettier in Fenced Code Blocks</title><link>https://jakeworth.com/tils/prettier-in-fenced-code-blocks/</link><pubDate>Mon, 29 Jun 2026 14:06:11 -0400</pubDate><guid>https://jakeworth.com/tils/prettier-in-fenced-code-blocks/</guid><description>&lt;p&gt;Prettier formats code in fenced code blocks! When I type three backticks and
then a code block, Prettier evaluates the code in the block and tries to format
it per my global &lt;code&gt;.prettierrc&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Vim Scratchpad Part 2</title><link>https://jakeworth.com/posts/vim-scratchpad-part-2/</link><pubDate>Wed, 26 Oct 2022 00:00:00 +0000</pubDate><guid>https://jakeworth.com/posts/vim-scratchpad-part-2/</guid><description>&lt;p&gt;Today, I&amp;rsquo;d like to dive deeper into a part of my practice: using a persisted
text file for jotting things down. In this post, I&amp;rsquo;ll explain the &amp;lsquo;why&amp;rsquo; behind this technique, and provide an
updated version of it.&lt;/p&gt;</description></item><item><title>Vim Scratchpad</title><link>https://jakeworth.com/posts/vim-scratchpad/</link><pubDate>Thu, 25 Aug 2022 00:00:00 +0000</pubDate><guid>https://jakeworth.com/posts/vim-scratchpad/</guid><description>&lt;p&gt;Today I&amp;rsquo;d like to share a small part of my practice: using a persisted
scratchpad text file for jotting things down.&lt;/p&gt;</description></item><item><title>Tmux Application Startup Script</title><link>https://jakeworth.com/posts/tmux-application-startup-script/</link><pubDate>Thu, 28 Jul 2022 00:00:00 +0000</pubDate><guid>https://jakeworth.com/posts/tmux-application-startup-script/</guid><description>&lt;p&gt;My development environment depends on several processes running. Here&amp;rsquo;s how
I&amp;rsquo;ve scripted this setup.&lt;/p&gt;</description></item><item><title>Spell Checking with Vim: Tutorial and Best Practices</title><link>https://jakeworth.com/posts/spell-check-with-vim/</link><pubDate>Wed, 15 Jun 2022 00:00:00 +0000</pubDate><guid>https://jakeworth.com/posts/spell-check-with-vim/</guid><description>&lt;p&gt;I write each post for this blog in Vim. Writing in the terminal makes me feel
like a programmer, even when I&amp;rsquo;m not specifically programming. In this post, I&amp;rsquo;ll share how I spellcheck in Vim.&lt;/p&gt;</description></item><item><title>Solved! How to Exit Vim "Ex" Mode</title><link>https://jakeworth.com/posts/exit-vim-ex-mode/</link><pubDate>Wed, 06 Apr 2022 00:00:00 +0000</pubDate><guid>https://jakeworth.com/posts/exit-vim-ex-mode/</guid><description>&lt;p&gt;How does one exit Vim &amp;ldquo;Ex&amp;rdquo; mode? But first&amp;hellip; how did you even get into &amp;ldquo;Ex&amp;rdquo; mode?&lt;/p&gt;</description></item><item><title>Why Vim</title><link>https://jakeworth.com/posts/why-vim/</link><pubDate>Wed, 23 Feb 2022 00:00:00 +0000</pubDate><guid>https://jakeworth.com/posts/why-vim/</guid><description>&lt;p&gt;I&amp;rsquo;ve been using, teaching, and stanning &lt;a href="https://www.vim.org/"&gt;Vim&lt;/a&gt; since almost the beginning of my
programming career. Yet, when asked to explain this preference, I stumble. In
this post, I&amp;rsquo;d like to explore why I love Vim.&lt;/p&gt;</description></item><item><title>Refining Your Terminal Aliases</title><link>https://jakeworth.com/posts/alias-terminal-commands/</link><pubDate>Thu, 10 Feb 2022 00:00:00 +0000</pubDate><guid>https://jakeworth.com/posts/alias-terminal-commands/</guid><description>&lt;p&gt;Any command you type out manually, or even tab-complete a few times, can be
shortened. A common shortening technique is the terminal alias. Here are some tips that help me write better aliases and cut my terminal keystrokes.&lt;/p&gt;</description></item><item><title>Ruby's Frozen String Literal Comment: YAGNI</title><link>https://jakeworth.com/posts/frozen-string-comment-yagni/</link><pubDate>Wed, 09 Feb 2022 00:00:00 +0000</pubDate><guid>https://jakeworth.com/posts/frozen-string-comment-yagni/</guid><description>&lt;p&gt;Open a production Ruby file, and you&amp;rsquo;ll often see this magic comment at the
top.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-ruby" data-lang="ruby"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# frozen_string_literal: true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Today I&amp;rsquo;d like to argue that most Ruby files do not need this comment. YAGNI— You
Aren&amp;rsquo;t Going to Need It.&lt;/p&gt;</description></item><item><title>How to Organize JavaScript Imports</title><link>https://jakeworth.com/posts/javascript-import-opinions/</link><pubDate>Mon, 30 Aug 2021 00:00:00 +0000</pubDate><guid>https://jakeworth.com/posts/javascript-import-opinions/</guid><description>&lt;p&gt;The &lt;code&gt;import&lt;/code&gt; statements at the top of a JavaScript component file can be a
confusing, duplicative, churning mess. Is there a way to organize them that
makes sense and scales? In this post, I&amp;rsquo;d like to share the way I handle this detail.&lt;/p&gt;</description></item><item><title>My Annotated Vim Configuration File</title><link>https://jakeworth.com/posts/my-annotated-vimrc/</link><pubDate>Thu, 26 Nov 2020 00:00:00 +0000</pubDate><guid>https://jakeworth.com/posts/my-annotated-vimrc/</guid><description>&lt;p&gt;I love Vim. Folks who&amp;rsquo;ve programmed with me, or attended a Vim Meetup when I
was an organizer, can attest. When I was learning to code, &lt;a href="https://jakeworth.com/posts/be-fast/"&gt;getting
fast&lt;/a&gt; at Vim changed everything for me. After almost a decade using this editor, here are my personal configurations.&lt;/p&gt;</description></item><item><title>Vim Nonrecursive Mappings</title><link>https://jakeworth.com/posts/vim-nonrecursive-mappings/</link><pubDate>Sat, 17 Dec 2016 00:00:00 +0000</pubDate><guid>https://jakeworth.com/posts/vim-nonrecursive-mappings/</guid><description>&lt;p&gt;My first PR to a new Vim plugin was merged this week, &lt;a href="https://github.com/dillonhafer/vim-termbux/pull/1"&gt;check it
out&lt;/a&gt;, adding non-recursive
Vim mappings to vim-termbux.&lt;/p&gt;</description></item><item><title>Keyword, Match, and Region in VimScript</title><link>https://jakeworth.com/posts/keyword-match-and-region-in-vimscript/</link><pubDate>Wed, 20 Apr 2016 00:00:00 +0000</pubDate><guid>https://jakeworth.com/posts/keyword-match-and-region-in-vimscript/</guid><description>&lt;p&gt;After a recent talk I gave that included VimScript, an attendee asked a
question about the differences between &lt;code&gt;keyword&lt;/code&gt;, &lt;code&gt;match&lt;/code&gt;, and &lt;code&gt;region&lt;/code&gt;
following &lt;code&gt;syn&lt;/code&gt; in a Vim syntax highlighting file. Here&amp;rsquo;s my answer.&lt;/p&gt;</description></item><item><title>Vim Buffer Problem</title><link>https://jakeworth.com/posts/vim-buffer-problem/</link><pubDate>Sun, 06 Mar 2016 00:00:00 +0000</pubDate><guid>https://jakeworth.com/posts/vim-buffer-problem/</guid><description>&lt;p&gt;A few weeks back I tackled the following programming challenge from my colleague Josh Branchaud:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Vim Buffer&lt;/p&gt;
&lt;p&gt;I open up a new Vim buffer and type all the numbers 1 to 10,000,
separated by spaces. Then, my cat walks on the keyboard and somehow activates
a substitution command that replaces all the &amp;lsquo;0’ digits (zeros) with spaces.
If I now sum up all the numbers in the buffer, as delineated by spaces, what
is the total?&lt;/p&gt;
&lt;/blockquote&gt;</description></item></channel></rss>