<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="/atom.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Archive</title>
  <id>https://dots.waylonwalker.com/archive/atom.xml</id>
  <updated>2026-02-08T00:00:00Z</updated>
  <link href="https://dots.waylonwalker.com" rel="alternate" type="text/html"></link>
  <link href="https://dots.waylonwalker.com/archive/atom.xml" rel="self" type="application/atom+xml"></link>
  <author>
    <name>Waylon Walker</name>
    <uri>https://waylonwalker.com</uri>
  </author>
  <entry>
    <title>ZSH Cheatsheet</title>
    <id>https://dots.waylonwalker.com/cheatsheets/zsh/</id>
    <updated>2026-02-08T00:00:00Z</updated>
    <published>2026-02-08T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/cheatsheets/zsh/" rel="alternate" type="text/html"></link>
    <summary type="text">ZSH shell keybindings and productivity features</summary>
    <content type="html">&lt;h1 id=&#34;zsh-cheatsheet&#34;&gt;ZSH Cheatsheet&lt;/h1&gt;&#xA;&lt;h2 id=&#34;keybindings&#34;&gt;Keybindings &lt;a href=&#34;#keybindings&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+T&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;fzf file completion&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+R&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;fzf history search&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Alt+C&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;fzf directory completion&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+A&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Beginning of line&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+E&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;End of line&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+U&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Delete to beginning&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+K&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Delete to end&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+W&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Delete word backward&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Alt+D&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Delete word forward&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+L&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Clear screen&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+D&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Exit shell&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+Z&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Background/foreground&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;history-expansion&#34;&gt;History Expansion &lt;a href=&#34;#history-expansion&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Pattern&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;!!&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Last command&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;!$&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Last argument&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;!^&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;First argument&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;!:1-3&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Arguments 1-3&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;^foo^bar&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Replace foo with bar in last command&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;directory-navigation&#34;&gt;Directory Navigation &lt;a href=&#34;#directory-navigation&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Command&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;cd -&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Previous directory&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;cd ~&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Home directory&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;pushd dir&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Add to stack&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;popd&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Remove from stack&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;dirs&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Show stack&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;...&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Go up 2 directories&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;....&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Go up 3 directories&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;aliases&#34;&gt;Aliases &lt;a href=&#34;#aliases&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Alias&lt;/th&gt;&#xA;&lt;th&gt;Command&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;l&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;&lt;code&gt;ls -la&lt;/code&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;la&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;&lt;code&gt;ls -A&lt;/code&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;ll&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;&lt;code&gt;ls -alF&lt;/code&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;g&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;&lt;code&gt;git&lt;/code&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;gs&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;&lt;code&gt;git status&lt;/code&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;ga&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;&lt;code&gt;git add&lt;/code&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;gc&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;&lt;code&gt;git commit&lt;/code&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;gp&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;&lt;code&gt;git push&lt;/code&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;k&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;&lt;code&gt;kubectl&lt;/code&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;dc&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;&lt;code&gt;docker-compose&lt;/code&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;fzf-integration&#34;&gt;FZF Integration &lt;a href=&#34;#fzf-integration&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Search history&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Ctrl+R&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Find files to open&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;nvim **/* &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; fzf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Change directory&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; **/* &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; fzf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Kill processes&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;kill&lt;/span&gt; -9 &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;ps aux &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; fzf &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; awk &lt;span class=&#34;s1&#34;&gt;&amp;#39;{print $2}&amp;#39;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;completion&#34;&gt;Completion &lt;a href=&#34;#completion&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Tab&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Complete&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Tab&lt;/code&gt; again&lt;/td&gt;&#xA;&lt;td&gt;Menu of options&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+I&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Alternative complete&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Esc+/&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Complete from history&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;global-aliases-pipe-anywhere&#34;&gt;Global Aliases (pipe anywhere) &lt;a href=&#34;#global-aliases-pipe-anywhere&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Alias&lt;/th&gt;&#xA;&lt;th&gt;Meaning&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;H&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;`&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;T&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;`&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;G&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;`&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;L&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;`&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;S&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;`&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;U&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;`&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;directory-stack&#34;&gt;Directory Stack &lt;a href=&#34;#directory-stack&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Add directories&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;pushd&lt;/span&gt; ~/git/project&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;pushd&lt;/span&gt; ~/work/another&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Navigate stack&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;pushd&lt;/span&gt; +1  &lt;span class=&#34;c1&#34;&gt;# Rotate forward&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;pushd&lt;/span&gt; -1  &lt;span class=&#34;c1&#34;&gt;# Rotate backward&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Show stack&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;dirs&lt;/span&gt; -v&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Remove from stack&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;popd&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;quick-workflows&#34;&gt;Quick Workflows &lt;a href=&#34;#quick-workflows&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Edit file:&lt;/strong&gt; &lt;code&gt;nvim **/*.py | fzf&lt;/code&gt; → select&#xA;&lt;strong&gt;Search history:&lt;/strong&gt; &lt;code&gt;Ctrl+R&lt;/code&gt; → type → &lt;code&gt;Enter&lt;/code&gt;&#xA;&lt;strong&gt;Directory navigation:&lt;/strong&gt; &lt;code&gt;Alt+C&lt;/code&gt; → fuzzy find&#xA;&lt;strong&gt;Chain commands:&lt;/strong&gt; &lt;code&gt;ps aux | G process | L&lt;/code&gt; → pipe through grep and less&lt;/p&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>tmux Cheatsheet</title>
    <id>https://dots.waylonwalker.com/cheatsheets/tmux/</id>
    <updated>2026-02-08T00:00:00Z</updated>
    <published>2026-02-08T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/cheatsheets/tmux/" rel="alternate" type="text/html"></link>
    <summary type="text">tmux keybindings and quick reference</summary>
    <content type="html">&lt;h1 id=&#34;tmux-cheatsheet&#34;&gt;tmux Cheatsheet&lt;/h1&gt;&#xA;&lt;h2 id=&#34;prefix&#34;&gt;Prefix &lt;a href=&#34;#prefix&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;Ctrl+Space&lt;/code&gt; (custom, not &lt;code&gt;Ctrl+B&lt;/code&gt;)&lt;/p&gt;&#xA;&lt;h2 id=&#34;session-management&#34;&gt;Session Management &lt;a href=&#34;#session-management&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Alt+Space&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Popup: attach to workspace session&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Alt+T&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Popup: attach to workspace in current directory&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Alt+Escape&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Popup: create new workspace&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Alt+Backspace&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Popup: add repo to workspace&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+J&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Popup: switch to any session with fzf&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Alt+G&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Popup: open scratch session&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Alt+Shift+G&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Popup: open scratch session (large)&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+K&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Popup: kill sessions&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;J&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;tmux session tree browser&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;copy-mode&#34;&gt;Copy Mode &lt;a href=&#34;#copy-mode&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Alt+[&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Enter copy mode&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Alt+V&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Enter copy mode&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Alt+Enter&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Enter copy mode&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Enter&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Enter copy mode&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;status-bar&#34;&gt;Status Bar &lt;a href=&#34;#status-bar&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Prefix+s&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Toggle status bar&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Prefix+Ctrl+S&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Toggle status bar&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;git-integration&#34;&gt;Git Integration &lt;a href=&#34;#git-integration&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Alt+F&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Popup: git commit --verbose&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Alt+Shift+F&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Popup: gitui&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;workspaces&#34;&gt;Workspaces &lt;a href=&#34;#workspaces&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+W&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Popup: attach to ~/work&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Alt+W&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Popup: attach to ~/work&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+G&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Popup: attach to ~/git&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+P&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Popup: attach to ~/project&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+T&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;New session: todo list in nvim&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;window-management&#34;&gt;Window Management &lt;a href=&#34;#window-management&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Prefix+c&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Create new window&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Prefix+n&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Next window&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Prefix+p&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Previous window&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Prefix+0-9&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Go to window number&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Prefix+,&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Rename window&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Prefix+&amp;amp;&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Kill window&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;pane-management&#34;&gt;Pane Management &lt;a href=&#34;#pane-management&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Prefix+&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Split horizontal&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Prefix+%&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Split vertical&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Prefix+hjkl&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Navigate panes&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Prefix+HJKL&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Resize panes&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Prefix+x&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Kill pane&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Prefix+z&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Zoom pane&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;quick-workflows&#34;&gt;Quick Workflows &lt;a href=&#34;#quick-workflows&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Project hopping:&lt;/strong&gt; &lt;code&gt;Alt+Space&lt;/code&gt; → select session&#xA;&lt;strong&gt;Scratch pad:&lt;/strong&gt; &lt;code&gt;Alt+G&lt;/code&gt; for quick notes&#xA;&lt;strong&gt;Git commit:&lt;/strong&gt; &lt;code&gt;Alt+F&lt;/code&gt; for fast commit&#xA;&lt;strong&gt;Todo list:&lt;/strong&gt; &lt;code&gt;Ctrl+T&lt;/code&gt; opens dedicated todo session&lt;/p&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Session Management Cheatsheet</title>
    <id>https://dots.waylonwalker.com/cheatsheets/session-management/</id>
    <updated>2026-02-08T00:00:00Z</updated>
    <published>2026-02-08T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/cheatsheets/session-management/" rel="alternate" type="text/html"></link>
    <summary type="text">Terminal session management with tmux and workspace patterns</summary>
    <content type="html">&lt;h1 id=&#34;session-management-cheatsheet&#34;&gt;Session Management Cheatsheet&lt;/h1&gt;&#xA;&lt;h2 id=&#34;tmux-session-operations&#34;&gt;Tmux Session Operations &lt;a href=&#34;#tmux-session-operations&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;session-creation&#34;&gt;Session Creation &lt;a href=&#34;#session-creation&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Alt+Escape&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Popup: create new workspace&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+T&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Todo list session (nvim)&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;tmux new -s name&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Manual session creation&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;session-navigation&#34;&gt;Session Navigation &lt;a href=&#34;#session-navigation&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Alt+Space&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Popup: attach to workspace&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+J&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Fuzzy-find any session&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Alt+T&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Workspace in current directory&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;J&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;tmux session tree browser&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;quick-session-access&#34;&gt;Quick Session Access &lt;a href=&#34;#quick-session-access&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Target&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+W&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;~/work directory&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Alt+W&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;~/work directory&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+G&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;~/git directory&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+P&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;~/project directory&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;session-management&#34;&gt;Session Management &lt;a href=&#34;#session-management&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+K&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Popup: kill sessions&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;tmux ls&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;List all sessions&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;tmux kill-session -t name&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Kill specific session&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;workspace-patterns&#34;&gt;Workspace Patterns &lt;a href=&#34;#workspace-patterns&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;project-workspace&#34;&gt;Project Workspace &lt;a href=&#34;#project-workspace&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Create project-specific session&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Alt+T  &lt;span class=&#34;c1&#34;&gt;# Creates workspace in current dir&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Session structure:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Window 1: nvim (code)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Window 2: gitui (version control)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Window 3: lf (file management)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Window 4: shell (commands)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;scratch-sessions&#34;&gt;Scratch Sessions &lt;a href=&#34;#scratch-sessions&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Session Type&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Alt+G&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Small scratch session&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Alt+Shift+G&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Large scratch session&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;todo-session&#34;&gt;Todo Session &lt;a href=&#34;#todo-session&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Purpose&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+T&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Todo management (nvim with 3 files)&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;td&gt;- backlog.md&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;td&gt;- doing.md&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;td&gt;- done.md&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;window-management&#34;&gt;Window Management &lt;a href=&#34;#window-management&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;window-creation&#34;&gt;Window Creation &lt;a href=&#34;#window-creation&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;tmux: Prefix+c&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Create new window&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;tmux: Prefix+&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Split horizontal&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;tmux: Prefix+%&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Split vertical&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;window-navigation&#34;&gt;Window Navigation &lt;a href=&#34;#window-navigation&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;tmux: Prefix+n&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Next window&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;tmux: Prefix+p&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Previous window&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;tmux: Prefix+0-9&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Go to window number&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;tmux: Prefix+ hjkl&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Navigate panes&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;window-naming&#34;&gt;Window Naming &lt;a href=&#34;#window-naming&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;tmux: Prefix+,&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Rename window&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;tmux: Prefix+&amp;amp;&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Kill window&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;session-templates&#34;&gt;Session Templates &lt;a href=&#34;#session-templates&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;development-session&#34;&gt;Development Session &lt;a href=&#34;#development-session&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Window 1: Code Editor&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;nvim .&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Window 2: Git Operations  &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gitui&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Window 3: File Manager&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;lf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Window 4: Terminal/Testing&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Open for commands&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;review-session&#34;&gt;Review Session &lt;a href=&#34;#review-session&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Window 1: PR/Code Review&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;nvim files-to-review&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Window 2: Git Status&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git status&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Window 3: Build/Testing&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Run tests, builds&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;debug-session&#34;&gt;Debug Session &lt;a href=&#34;#debug-session&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Window 1: Code with issues&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;nvim problem-file&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Window 2: Logs/Terminal&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tail -f logs/app.log&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Window 3: Shell for debugging&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Commands, inspection&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;session-persistence&#34;&gt;Session Persistence &lt;a href=&#34;#session-persistence&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;what-persists&#34;&gt;What Persists &lt;a href=&#34;#what-persists&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;tmux sessions survive reboots&lt;/li&gt;&#xA;&lt;li&gt;Working directories maintained&lt;/li&gt;&#xA;&lt;li&gt;Window layouts preserved&lt;/li&gt;&#xA;&lt;li&gt;Running processes continue&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;what-doesnt-persist&#34;&gt;What Doesn&#39;t Persist &lt;a href=&#34;#what-doesnt-persist&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Shell history (managed by zsh)&lt;/li&gt;&#xA;&lt;li&gt;Temporary files&lt;/li&gt;&#xA;&lt;li&gt;Clipboard contents&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;backup-sessions&#34;&gt;Backup Sessions &lt;a href=&#34;#backup-sessions&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Save session configuration&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tmux list-windows -t session-name &amp;gt; session-backup.txt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Recreate session from backup&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Use saved layout to rebuild&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;workflow-patterns&#34;&gt;Workflow Patterns &lt;a href=&#34;#workflow-patterns&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;context-switching&#34;&gt;Context Switching &lt;a href=&#34;#context-switching&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Switch to different project&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Alt+Space  &lt;span class=&#34;c1&#34;&gt;# Select workspace session&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Quick scratch for temporary work&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Alt+G  &lt;span class=&#34;c1&#34;&gt;# Open scratch session&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Return to main work&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Ctrl+J  &lt;span class=&#34;c1&#34;&gt;# Fuzzy-find main session&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;collaborative-sessions&#34;&gt;Collaborative Sessions &lt;a href=&#34;#collaborative-sessions&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Share session with pair programming&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tmux new -s pair-programming&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Other person: tmux attach -t pair-programming&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;automated-sessions&#34;&gt;Automated Sessions &lt;a href=&#34;#automated-sessions&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Session for specific task&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tmux new -s task-name &lt;span class=&#34;se&#34;&gt;\;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;  send-keys &lt;span class=&#34;s1&#34;&gt;&amp;#39;nvim file1&amp;#39;&lt;/span&gt; Enter &lt;span class=&#34;se&#34;&gt;\;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;  new-window &lt;span class=&#34;se&#34;&gt;\;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;  send-keys &lt;span class=&#34;s1&#34;&gt;&amp;#39;cd project &amp;amp;&amp;amp; git status&amp;#39;&lt;/span&gt; Enter&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;quick-reference&#34;&gt;Quick Reference &lt;a href=&#34;#quick-reference&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Start work:&lt;/strong&gt; &lt;code&gt;Alt+Space&lt;/code&gt; → select workspace&#xA;&lt;strong&gt;Quick scratch:&lt;/strong&gt; &lt;code&gt;Alt+G&lt;/code&gt; → temporary session&lt;br&gt;&#xA;&lt;strong&gt;Project hopping:&lt;/strong&gt; &lt;code&gt;Ctrl+J&lt;/code&gt; → fuzzy-find&#xA;&lt;strong&gt;Kill session:&lt;/strong&gt; &lt;code&gt;Ctrl+K&lt;/code&gt; → select → confirm&#xA;&lt;strong&gt;Todo time:&lt;/strong&gt; &lt;code&gt;Ctrl+T&lt;/code&gt; → task management&#xA;&lt;strong&gt;File browse:&lt;/strong&gt; &lt;code&gt;Alt+C&lt;/code&gt; → find directory → &lt;code&gt;lf&lt;/code&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;session-health&#34;&gt;Session Health &lt;a href=&#34;#session-health&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;clean-up-sessions&#34;&gt;Clean Up Sessions &lt;a href=&#34;#clean-up-sessions&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# List all sessions&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tmux ls&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Kill dead sessions&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tmux kill-session -t dead-session&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Clean up detached&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tmux list-sessions &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; grep detached&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;session-monitoring&#34;&gt;Session Monitoring &lt;a href=&#34;#session-monitoring&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Check session activity&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tmux list-sessions -F &lt;span class=&#34;s1&#34;&gt;&amp;#39;#{session_name}: #{session_attached}&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Monitor long-running processes&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# In session: jobs -l&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;best-practices&#34;&gt;Best Practices &lt;a href=&#34;#best-practices&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;One session per project&lt;/strong&gt; - Keeps context organized&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Name sessions meaningfully&lt;/strong&gt; - Easy identification&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Use consistent window layouts&lt;/strong&gt; - Muscle memory&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Kill unused sessions&lt;/strong&gt; - Prevent clutter&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Backup important layouts&lt;/strong&gt; - Quick recreation&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Neovim Cheatsheet</title>
    <id>https://dots.waylonwalker.com/cheatsheets/neovim/</id>
    <updated>2026-02-08T00:00:00Z</updated>
    <published>2026-02-08T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/cheatsheets/neovim/" rel="alternate" type="text/html"></link>
    <summary type="text">Neovim keybindings and essential commands quick reference</summary>
    <content type="html">&lt;h1 id=&#34;neovim-cheatsheet&#34;&gt;Neovim Cheatsheet&lt;/h1&gt;&#xA;&lt;h2 id=&#34;navigation&#34;&gt;Navigation &lt;a href=&#34;#navigation&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;hjkl&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Left, Down, Up, Right&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;w&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Word forward&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;b&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Word backward&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Start of line&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;$&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;End of line&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;gg&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Top of file&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;G&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Bottom of file&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+U&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Page up&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+D&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Page down&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;%&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Jump to matching bracket&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;file-operations&#34;&gt;File Operations &lt;a href=&#34;#file-operations&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;:w&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Save file&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;:q&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Quit&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;:wq&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Save and quit&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;:q!&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Quit without saving&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;:e filename&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Open file&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;:tabnew&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;New tab&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;:tabn&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Next tab&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;:tabp&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Previous tab&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;:sp&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Split horizontal&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;:vsp&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Split vertical&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;insert-mode&#34;&gt;Insert Mode &lt;a href=&#34;#insert-mode&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;i&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Insert before cursor&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;a&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Insert after cursor&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;I&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Insert at line start&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;A&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Insert at line end&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;o&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Open line below&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;O&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Open line above&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Esc&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Exit insert mode&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;editing&#34;&gt;Editing &lt;a href=&#34;#editing&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;x&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Delete character&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;dd&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Delete line&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;yy&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Copy line&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;p&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Paste after&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;P&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Paste before&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;u&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Undo&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+R&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Redo&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;.&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Repeat last command&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;&amp;gt;&amp;gt;&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Indent line&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;&amp;lt;&amp;lt;&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Outdent line&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;search--replace&#34;&gt;Search &amp;amp; Replace &lt;a href=&#34;#search--replace&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;/pattern&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Search forward&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;?pattern&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Search backward&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;n&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Next match&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;N&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Previous match&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;:%s/old/new/g&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Replace all&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;:%s/old/new/gc&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Replace with confirm&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;visual-mode&#34;&gt;Visual Mode &lt;a href=&#34;#visual-mode&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;v&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Character visual mode&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;V&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Line visual mode&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+V&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Block visual mode&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;d&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Delete selection&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;y&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Copy selection&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;c&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Change selection&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;telescope-fuzzy-finding&#34;&gt;Telescope (Fuzzy Finding) &lt;a href=&#34;#telescope-fuzzy-finding&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+P&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Find files&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+F&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Live grep&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+B&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Buffers&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+H&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Help tags&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+R&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Resume last picker&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;lsp-language-server&#34;&gt;LSP (Language Server) &lt;a href=&#34;#lsp-language-server&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;gd&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Go to definition&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;gr&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Go to references&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;gI&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Go to implementation&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;K&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Hover documentation&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+K&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Signature help&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;&amp;lt;leader&amp;gt;ca&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Code actions&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;&amp;lt;leader&amp;gt;rn&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Rename&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;[d&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Previous diagnostic&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;]d&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Next diagnostic&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;git-gitsigns&#34;&gt;Git (GitSigns) &lt;a href=&#34;#git-gitsigns&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;]c&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Next git hunk&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;[c&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Previous git hunk&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;&amp;lt;leader&amp;gt;hs&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Stage hunk&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;&amp;lt;leader&amp;gt;hr&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Reset hunk&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;&amp;lt;leader&amp;gt;hp&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Preview hunk&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;&amp;lt;leader&amp;gt;hb&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Blame line&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;terminal&#34;&gt;Terminal &lt;a href=&#34;#terminal&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+T&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Toggle terminal&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;&amp;lt;C-\\&amp;gt;&amp;lt;C-N&amp;gt;&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Terminal normal mode&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;quick-workflows&#34;&gt;Quick Workflows &lt;a href=&#34;#quick-workflows&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;File finding:&lt;/strong&gt; &lt;code&gt;Ctrl+P&lt;/code&gt; → type → &lt;code&gt;Enter&lt;/code&gt;&#xA;&lt;strong&gt;Code navigation:&lt;/strong&gt; &lt;code&gt;gd&lt;/code&gt; on symbol → &lt;code&gt;Ctrl+O&lt;/code&gt; to return&#xA;&lt;strong&gt;Git workflow:&lt;/strong&gt; &lt;code&gt;]c&lt;/code&gt; → &lt;code&gt;&amp;lt;leader&amp;gt;hs&lt;/code&gt; → stage changes&#xA;&lt;strong&gt;Search:&lt;/strong&gt; &lt;code&gt;Ctrl+F&lt;/code&gt; → type → &lt;code&gt;Enter&lt;/code&gt; to open result&lt;/p&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>LF Cheatsheet</title>
    <id>https://dots.waylonwalker.com/cheatsheets/lf/</id>
    <updated>2026-02-08T00:00:00Z</updated>
    <published>2026-02-08T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/cheatsheets/lf/" rel="alternate" type="text/html"></link>
    <summary type="text">LF file manager keybindings and quick reference</summary>
    <content type="html">&lt;h1 id=&#34;lf-cheatsheet&#34;&gt;LF Cheatsheet&lt;/h1&gt;&#xA;&lt;h2 id=&#34;navigation&#34;&gt;Navigation &lt;a href=&#34;#navigation&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;hjkl&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Left, Down, Up, Right&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Enter&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Enter directory or open file&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Backspace&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Parent directory&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;g&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Go to top&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;G&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Go to bottom&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Home&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Go to top&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;End&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Go to bottom&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;file-operations&#34;&gt;File Operations &lt;a href=&#34;#file-operations&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;d&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Delete (move to trash)&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;D&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Delete permanently&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;y&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Copy (yank)&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;p&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Paste&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;c&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Cut&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;r&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Rename&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;:rename&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Interactive rename&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;:bulk&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Bulk rename&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;selection&#34;&gt;Selection &lt;a href=&#34;#selection&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;v&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Toggle selection&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;V&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Select all&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;u&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Clear selection&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;t&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Toggle selection for glob pattern&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+A&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Select all files&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+U&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Clear all selections&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;file-creation&#34;&gt;File Creation &lt;a href=&#34;#file-creation&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;:touch filename&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Create empty file&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;:mkdir dirname&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Create directory&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;F&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Create file&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;M&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Create directory&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;view--preview&#34;&gt;View &amp;amp; Preview &lt;a href=&#34;#view--preview&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Space&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Toggle preview&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;zh&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Toggle hidden files&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;zI&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Toggle preview of directories&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;$&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Toggle preview window&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;%&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Toggle percent view&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;a&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Show file size&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;A&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Show detailed info&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;search&#34;&gt;Search &lt;a href=&#34;#search&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;/&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Search forward&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;?&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Search backward&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;n&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Next match&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;N&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Previous match&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;f&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Find character in line&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;F&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Find character backward&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;jump-points&#34;&gt;Jump Points &lt;a href=&#34;#jump-points&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;cd ~&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Home&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;cd /&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Root&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;m&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Set bookmark&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;&#39;&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Go to bookmark&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;\&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Go to bookmark by name&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;shell-integration&#34;&gt;Shell Integration &lt;a href=&#34;#shell-integration&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;!&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Shell command&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;$&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Shell command with current file&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;&amp;amp;&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Shell command in background&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;w&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Open with &lt;code&gt;$EDITOR&lt;/code&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;W&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Open with default app&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;e&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Open file in editor&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;x&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Execute file&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;workflows&#34;&gt;Workflows &lt;a href=&#34;#workflows&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+P&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Toggle tmux popup&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;i&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Toggle preview mode&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;q&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Quit&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+C&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Cancel operation&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;common-patterns&#34;&gt;Common Patterns &lt;a href=&#34;#common-patterns&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# File selection workflow&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;v → &lt;span class=&#34;k&#34;&gt;select&lt;/span&gt; files → y → navigate → p → paste&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Bulk rename&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Ctrl+A → :bulk → edit with nvim → save&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Quick file ops&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;d → Enter to confirm trash&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;c → navigate → Enter to move&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Preview images&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Space → image preview → q to &lt;span class=&#34;nb&#34;&gt;exit&lt;/span&gt; preview&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;custom-commands&#34;&gt;Custom Commands &lt;a href=&#34;#custom-commands&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Command&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;:zip&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Create zip archive&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;:extract&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Extract archive&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;:chmod +x&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Make executable&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;:du -sh&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Show directory size&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;quick-workflows&#34;&gt;Quick Workflows &lt;a href=&#34;#quick-workflows&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Navigate:&lt;/strong&gt; &lt;code&gt;hjkl&lt;/code&gt; or &lt;code&gt;Enter&lt;/code&gt; to enter directories&#xA;&lt;strong&gt;Select multiple:&lt;/strong&gt; &lt;code&gt;v&lt;/code&gt; on each file → &lt;code&gt;y&lt;/code&gt; to copy&#xA;&lt;strong&gt;Quick delete:&lt;/strong&gt; Select files → &lt;code&gt;d&lt;/code&gt; → confirm&#xA;&lt;strong&gt;File info:&lt;/strong&gt; &lt;code&gt;a&lt;/code&gt; for sizes, &lt;code&gt;Space&lt;/code&gt; for preview&#xA;&lt;strong&gt;Edit:&lt;/strong&gt; &lt;code&gt;e&lt;/code&gt; to open in nvim, &lt;code&gt;Enter&lt;/code&gt; to open with default&lt;/p&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>GitUI Cheatsheet</title>
    <id>https://dots.waylonwalker.com/cheatsheets/gitui/</id>
    <updated>2026-02-08T00:00:00Z</updated>
    <published>2026-02-08T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/cheatsheets/gitui/" rel="alternate" type="text/html"></link>
    <summary type="text">GitUI TUI git client keybindings and quick reference</summary>
    <content type="html">&lt;h1 id=&#34;gitui-cheatsheet&#34;&gt;GitUI Cheatsheet&lt;/h1&gt;&#xA;&lt;h2 id=&#34;navigation&#34;&gt;Navigation &lt;a href=&#34;#navigation&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;hjkl&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Left, Down, Up, Right&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Enter&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Select/Confirm&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Tab&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Switch between panels&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Esc&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Go back/Cancel&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;q&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Quit&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;file-staging-panel&#34;&gt;File Staging Panel &lt;a href=&#34;#file-staging-panel&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Space&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Stage/unstage file&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;a&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Stage all&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;A&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Stage all tracked&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;c&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Commit&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;e&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Edit file in $EDITOR&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;d&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Discard changes&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;i&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Toggle ignored files&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;r&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Refresh&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;staging-view-hunks&#34;&gt;Staging View (Hunks) &lt;a href=&#34;#staging-view-hunks&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Space&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Stage/unstage hunk&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;a&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Stage all hunks&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;A&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Stage all tracked&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;c&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Commit&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;s&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Stage selection&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;u&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Unstage selection&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;d&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Discard hunk&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;e&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Edit hunk&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Enter&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Toggle hunk selection&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;log-panel&#34;&gt;Log Panel &lt;a href=&#34;#log-panel&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Enter&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Show commit details&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;c&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Cherry-pick commit&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;r&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Revert commit&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;b&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Create branch from commit&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;t&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Tag commit&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;s&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Squash commits&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;f&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Fixup commits&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;branch-panel&#34;&gt;Branch Panel &lt;a href=&#34;#branch-panel&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;c&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Checkout branch&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;n&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;New branch&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;d&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Delete branch&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;D&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Force delete branch&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;r&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Rename branch&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;m&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Merge branch&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;R&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Rebase onto branch&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;stashing&#34;&gt;Stashing &lt;a href=&#34;#stashing&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;z&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Stash changes&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Z&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Stash with message&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;p&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Pop stash&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;a&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Apply stash&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;d&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Drop stash&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;status-panel&#34;&gt;Status Panel &lt;a href=&#34;#status-panel&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;l&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Open log&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;b&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Open branches&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;s&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Open stash&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;t&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Open tags&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;r&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Open remotes&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;f&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Fetch&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;P&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Push&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;p&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Pull&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;m&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Merge&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;R&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Rebase&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;search&#34;&gt;Search &lt;a href=&#34;#search&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;/&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Search&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;n&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Next result&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;N&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Previous result&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;help&#34;&gt;Help &lt;a href=&#34;#help&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;?&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Show help&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Show status help&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;2&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Show log help&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;3&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Show diffing help&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;common-workflows&#34;&gt;Common Workflows &lt;a href=&#34;#common-workflows&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;commit-changes&#34;&gt;Commit Changes &lt;a href=&#34;#commit-changes&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Open GitUI: &lt;code&gt;gitui&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;Stage files: &lt;code&gt;Space&lt;/code&gt; on each file&lt;/li&gt;&#xA;&lt;li&gt;Commit: &lt;code&gt;c&lt;/code&gt; → type message → &lt;code&gt;Enter&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h3 id=&#34;switch-branch&#34;&gt;Switch Branch &lt;a href=&#34;#switch-branch&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Open branches: &lt;code&gt;b&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;Select branch: &lt;code&gt;j/k&lt;/code&gt; → &lt;code&gt;Enter&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;Checkout: &lt;code&gt;c&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h3 id=&#34;cherry-pick&#34;&gt;Cherry-pick &lt;a href=&#34;#cherry-pick&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Open log: &lt;code&gt;l&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;Select commit: &lt;code&gt;Enter&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;Cherry-pick: &lt;code&gt;c&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h3 id=&#34;resolve-conflicts&#34;&gt;Resolve Conflicts &lt;a href=&#34;#resolve-conflicts&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;During merge/rebase, conflicts appear&lt;/li&gt;&#xA;&lt;li&gt;Press &lt;code&gt;e&lt;/code&gt; to edit conflicted file&lt;/li&gt;&#xA;&lt;li&gt;Resolve in editor&lt;/li&gt;&#xA;&lt;li&gt;Return to GitUI&lt;/li&gt;&#xA;&lt;li&gt;Continue: &lt;code&gt;c&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;keyboard-tips&#34;&gt;Keyboard Tips &lt;a href=&#34;#keyboard-tips&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Quick quit:&lt;/strong&gt; &lt;code&gt;q&lt;/code&gt; from anywhere&#xA;&lt;strong&gt;Back out:&lt;/strong&gt; &lt;code&gt;Esc&lt;/code&gt; cancels current operation&#xA;&lt;strong&gt;Bulk stage:&lt;/strong&gt; In staging, &lt;code&gt;a&lt;/code&gt; stages all&#xA;&lt;strong&gt;Search files:&lt;/strong&gt; &lt;code&gt;/&lt;/code&gt; to search, &lt;code&gt;n&lt;/code&gt; for next&#xA;&lt;strong&gt;Edit file:&lt;/strong&gt; &lt;code&gt;e&lt;/code&gt; opens in $EDITOR&lt;/p&gt;&#xA;&lt;h2 id=&#34;quick-reference&#34;&gt;Quick Reference &lt;a href=&#34;#quick-reference&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Status → Commit:&lt;/strong&gt; &lt;code&gt;gitui&lt;/code&gt; → &lt;code&gt;Space&lt;/code&gt; files → &lt;code&gt;c&lt;/code&gt;&#xA;&lt;strong&gt;Checkout:&lt;/strong&gt; &lt;code&gt;gitui&lt;/code&gt; → &lt;code&gt;b&lt;/code&gt; → select → &lt;code&gt;c&lt;/code&gt;&#xA;&lt;strong&gt;Log view:&lt;/strong&gt; &lt;code&gt;gitui&lt;/code&gt; → &lt;code&gt;l&lt;/code&gt;&#xA;&lt;strong&gt;Stash:&lt;/strong&gt; &lt;code&gt;gitui&lt;/code&gt; → &lt;code&gt;z&lt;/code&gt;&#xA;&lt;strong&gt;Push:&lt;/strong&gt; &lt;code&gt;gitui&lt;/code&gt; → &lt;code&gt;P&lt;/code&gt;&lt;/p&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Git Cheatsheet</title>
    <id>https://dots.waylonwalker.com/cheatsheets/git/</id>
    <updated>2026-02-08T00:00:00Z</updated>
    <published>2026-02-08T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/cheatsheets/git/" rel="alternate" type="text/html"></link>
    <summary type="text">Git commands and workflows quick reference</summary>
    <content type="html">&lt;h1 id=&#34;git-cheatsheet&#34;&gt;Git Cheatsheet&lt;/h1&gt;&#xA;&lt;h2 id=&#34;setup--config&#34;&gt;Setup &amp;amp; Config &lt;a href=&#34;#setup--config&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git config --global user.name &lt;span class=&#34;s2&#34;&gt;&amp;#34;Your Name&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git config --global user.email &lt;span class=&#34;s2&#34;&gt;&amp;#34;you@example.com&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git config --global init.defaultBranch main&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git config --global pull.rebase &lt;span class=&#34;nb&#34;&gt;false&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;repository-operations&#34;&gt;Repository Operations &lt;a href=&#34;#repository-operations&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Command&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;git init&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Initialize repository&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;git clone url&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Clone repository&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;git status&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Show status&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;git log --oneline&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Compact log&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;git log --graph&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Visual branch graph&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;staging--committing&#34;&gt;Staging &amp;amp; Committing &lt;a href=&#34;#staging--committing&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Command&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;git add file&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Stage file&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;git add .&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Stage all&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;git commit -m &amp;quot;msg&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Commit staged&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;git commit -am &amp;quot;msg&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Stage+commit tracked&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;git amend&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Edit last commit&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;git reset file&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Unstage file&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;git checkout -- file&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Discard changes&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;branch-operations&#34;&gt;Branch Operations &lt;a href=&#34;#branch-operations&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Command&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;git branch&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;List branches&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;git branch name&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Create branch&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;git checkout branch&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Switch branch&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;git checkout -b name&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Create+switch&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;git branch -d name&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Delete merged&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;git branch -D name&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Delete force&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;git merge branch&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Merge branch&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;git rebase branch&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Rebase onto&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;remote-operations&#34;&gt;Remote Operations &lt;a href=&#34;#remote-operations&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Command&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;git remote add name url&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Add remote&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;git fetch&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Fetch changes&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;git pull&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Pull + merge&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;git push&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Push to remote&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;git push -u origin branch&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Push+set upstream&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;git push origin --delete branch&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Delete remote branch&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;history--diff&#34;&gt;History &amp;amp; Diff &lt;a href=&#34;#history--diff&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Command&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;git diff&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Show unstaged&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;git diff --staged&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Show staged&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;git diff HEAD~1&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Show last commit&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;git show commit&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Show commit details&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;git blame file&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Show line history&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;git log -p file&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;File history with diff&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;stashing&#34;&gt;Stashing &lt;a href=&#34;#stashing&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Command&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;git stash&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Stash changes&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;git stash save &amp;quot;msg&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Stash with message&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;git stash list&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;List stashes&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;git stash apply&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Apply stash&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;git stash pop&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Apply+remove&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;git stash drop&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Remove stash&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;undo--fix&#34;&gt;Undo &amp;amp; Fix &lt;a href=&#34;#undo--fix&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Command&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;git reset --soft HEAD~1&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Undo last commit&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;git reset --hard HEAD~1&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Undo last commit + changes&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;git revert commit&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Create inverse commit&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;git clean -fd&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Remove untracked files&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;common-workflows&#34;&gt;Common Workflows &lt;a href=&#34;#common-workflows&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;start-new-feature&#34;&gt;Start New Feature &lt;a href=&#34;#start-new-feature&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git checkout -b feature-name&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# ...work...&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git add .&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git commit -m &lt;span class=&#34;s2&#34;&gt;&amp;#34;Add feature description&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git push -u origin feature-name&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;sync-branch&#34;&gt;Sync Branch &lt;a href=&#34;#sync-branch&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git checkout main&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git pull origin main&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git checkout feature-branch&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git merge main&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git push&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;fix-last-commit&#34;&gt;Fix Last Commit &lt;a href=&#34;#fix-last-commit&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Add forgotten file&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git add forgotten-file&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git commit --amend --no-edit&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Or edit message&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git commit --amend&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;selective-commit&#34;&gt;Selective Commit &lt;a href=&#34;#selective-commit&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git add file1 file3&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git commit -m &lt;span class=&#34;s2&#34;&gt;&amp;#34;Commit specific files&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git add file2&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git commit -m &lt;span class=&#34;s2&#34;&gt;&amp;#34;Separate commit&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;quick-tips&#34;&gt;Quick Tips &lt;a href=&#34;#quick-tips&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Uncommitted changes:&lt;/strong&gt; &lt;code&gt;git stash&lt;/code&gt; → &lt;code&gt;git pull&lt;/code&gt; → &lt;code&gt;git stash pop&lt;/code&gt;&#xA;&lt;strong&gt;See what changed:&lt;/strong&gt; &lt;code&gt;git diff HEAD~5 HEAD&lt;/code&gt;&#xA;&lt;strong&gt;Find commit:&lt;/strong&gt; &lt;code&gt;git log --grep=&amp;quot;search term&amp;quot;&lt;/code&gt;&#xA;&lt;strong&gt;Cherry-pick:&lt;/strong&gt; &lt;code&gt;git cherry-pick commit-hash&lt;/code&gt;&#xA;&lt;strong&gt;Tag release:&lt;/strong&gt; &lt;code&gt;git tag v1.0.0 &amp;amp;&amp;amp; git push --tags&lt;/code&gt;&lt;/p&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>fzf Cheatsheet</title>
    <id>https://dots.waylonwalker.com/cheatsheets/fzf/</id>
    <updated>2026-02-08T00:00:00Z</updated>
    <published>2026-02-08T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/cheatsheets/fzf/" rel="alternate" type="text/html"></link>
    <summary type="text">fzf keybindings and fuzzy finder quick reference</summary>
    <content type="html">&lt;h1 id=&#34;fzf-cheatsheet&#34;&gt;fzf Cheatsheet&lt;/h1&gt;&#xA;&lt;h2 id=&#34;shell-integration-keybindings&#34;&gt;Shell Integration Keybindings &lt;a href=&#34;#shell-integration-keybindings&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+T&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Find files and insert path&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+R&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Search command history&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Alt+C&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Find directories and cd&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Tab&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Complete paths with fzf&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;fzf-interface-controls&#34;&gt;fzf Interface Controls &lt;a href=&#34;#fzf-interface-controls&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+J/K&lt;/code&gt; or &lt;code&gt;Ctrl+N/P&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Navigate up/down&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+H/L&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Move cursor left/right in query&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Enter&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Select item&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Esc&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Cancel&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+U&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Clear query&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Tab&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Multi-select&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Shift+Tab&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Deselect&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;?&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Toggle preview&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;common-commands&#34;&gt;Common Commands &lt;a href=&#34;#common-commands&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Basic file finding&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;fzf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# With preview&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;fzf --preview &lt;span class=&#34;s1&#34;&gt;&amp;#39;bat --style=numbers --color=always {}&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Edit selected file&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;nvim &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;fzf&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Kill process&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;kill&lt;/span&gt; -9 &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;ps aux &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; fzf &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; awk &lt;span class=&#34;s1&#34;&gt;&amp;#39;{print $2}&amp;#39;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Git checkout branch&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git checkout &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;git branch &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; fzf &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; sed &lt;span class=&#34;s1&#34;&gt;&amp;#39;s/* //&amp;#39;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# cd to directory&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;find . -type d &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; fzf&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Search history&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;history&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; fzf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;environment-variables&#34;&gt;Environment Variables &lt;a href=&#34;#environment-variables&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Default appearance&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;FZF_DEFAULT_OPTS&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;--height 40% --layout=reverse --border&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Default file search&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;FZF_DEFAULT_COMMAND&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;fd --type f --hidden --follow --exclude .git&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Ctrl+T command&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;FZF_CTRL_T_COMMAND&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$FZF_DEFAULT_COMMAND&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Alt+C command  &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;FZF_ALT_C_COMMAND&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;fd --type d --hidden --follow --exclude .git&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;integration-examples&#34;&gt;Integration Examples &lt;a href=&#34;#integration-examples&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Find and edit config files&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;nvim ~/.config/**/*&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;.&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; fzf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Search git files&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git ls-files &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; fzf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Docker actions&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker ps &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; fzf &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; awk &lt;span class=&#34;s1&#34;&gt;&amp;#39;{print $1}&amp;#39;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; xargs docker logs&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Package management&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;apt list --installed &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; fzf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;quick-workflows&#34;&gt;Quick Workflows &lt;a href=&#34;#quick-workflows&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Find file:&lt;/strong&gt; &lt;code&gt;Ctrl+T&lt;/code&gt; → type → &lt;code&gt;Enter&lt;/code&gt;&#xA;&lt;strong&gt;Search history:&lt;/strong&gt; &lt;code&gt;Ctrl+R&lt;/code&gt; → type → &lt;code&gt;Enter&lt;/code&gt;&lt;br&gt;&#xA;&lt;strong&gt;Change directory:&lt;/strong&gt; &lt;code&gt;Alt+C&lt;/code&gt; → select → &lt;code&gt;Enter&lt;/code&gt;&#xA;&lt;strong&gt;Multi-select:&lt;/strong&gt; &lt;code&gt;Tab&lt;/code&gt; to select multiple items&lt;/p&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Daily Workflow Cheatsheet</title>
    <id>https://dots.waylonwalker.com/cheatsheets/daily-workflow/</id>
    <updated>2026-02-08T00:00:00Z</updated>
    <published>2026-02-08T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/cheatsheets/daily-workflow/" rel="alternate" type="text/html"></link>
    <summary type="text">Daily terminal workflow and productivity patterns</summary>
    <content type="html">&lt;h1 id=&#34;daily-workflow-cheatsheet&#34;&gt;Daily Workflow Cheatsheet&lt;/h1&gt;&#xA;&lt;h2 id=&#34;morning-startup&#34;&gt;Morning Startup &lt;a href=&#34;#morning-startup&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Open terminal session&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Alt+Space&lt;/code&gt; → Open workspace session&lt;/li&gt;&#xA;&lt;li&gt;Or &lt;code&gt;Alt+T&lt;/code&gt; → Workspace in current directory&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Check status&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;gs&lt;/code&gt; → Git status&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;gitui&lt;/code&gt; → Review changes&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Alt+Shift+F&lt;/code&gt; → Open gitui in popup&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Open project&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Ctrl+P&lt;/code&gt; → Find files with telescope&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Ctrl+T&lt;/code&gt; → Open todo list session&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;file-operations&#34;&gt;File Operations &lt;a href=&#34;#file-operations&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Task&lt;/th&gt;&#xA;&lt;th&gt;Method&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;Find file&lt;/td&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+T&lt;/code&gt; (fzf) or &lt;code&gt;Ctrl+P&lt;/code&gt; (telescope)&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;Navigate directories&lt;/td&gt;&#xA;&lt;td&gt;&lt;code&gt;Alt+C&lt;/code&gt; (fzf cd) or &lt;code&gt;lf&lt;/code&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;Quick edit&lt;/td&gt;&#xA;&lt;td&gt;&lt;code&gt;nvim $(fzf)&lt;/code&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;File preview&lt;/td&gt;&#xA;&lt;td&gt;&lt;code&gt;lf&lt;/code&gt; → &lt;code&gt;Space&lt;/code&gt; for preview&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;common-patterns&#34;&gt;Common Patterns &lt;a href=&#34;#common-patterns&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;working-on-new-feature&#34;&gt;Working on New Feature &lt;a href=&#34;#working-on-new-feature&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 1. Create feature branch&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git checkout -b feature-name&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 2. Work on files&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;nvim &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;fzf&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# Find and open files&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 3. Commit changes&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gitui        &lt;span class=&#34;c1&#34;&gt;# Stage and commit&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 4. Push branch&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git push -u origin feature-name&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;file-management-workflow&#34;&gt;File Management Workflow &lt;a href=&#34;#file-management-workflow&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 1. Navigate with lf&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;lf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 2. Quick operations in lf:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;#    v → select files → y → copy&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;#    d → move to trash&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;#    Space → preview files&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;search--replace&#34;&gt;Search &amp;amp; Replace &lt;a href=&#34;#search--replace&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Search in files&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Ctrl+F &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;telescope live grep&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Find files by name&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Ctrl+P &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;telescope find files&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Command line search&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rg &lt;span class=&#34;s2&#34;&gt;&amp;#34;pattern&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; nvim -  &lt;span class=&#34;c1&#34;&gt;# Edit results&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;session-management&#34;&gt;Session Management &lt;a href=&#34;#session-management&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;project-switching&#34;&gt;Project Switching &lt;a href=&#34;#project-switching&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Alt+Space&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Popup: workspace session&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+J&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Fuzzy-find any session&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Alt+T&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Workspace in current dir&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Alt+G&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Quick scratch session&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;window-management&#34;&gt;Window Management &lt;a href=&#34;#window-management&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Task&lt;/th&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;New terminal&lt;/td&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+T&lt;/code&gt; in tmux&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;Split horizontal&lt;/td&gt;&#xA;&lt;td&gt;&lt;code&gt;tmux: Prefix+&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;Split vertical&lt;/td&gt;&#xA;&lt;td&gt;&lt;code&gt;tmux: Prefix+%&lt;/code&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;Switch panes&lt;/td&gt;&#xA;&lt;td&gt;&lt;code&gt;tmux: Prefix+hjkl&lt;/code&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;productivity-shortcuts&#34;&gt;Productivity Shortcuts &lt;a href=&#34;#productivity-shortcuts&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;quick-commands&#34;&gt;Quick Commands &lt;a href=&#34;#quick-commands&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Task&lt;/th&gt;&#xA;&lt;th&gt;Command&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;Edit config&lt;/td&gt;&#xA;&lt;td&gt;&lt;code&gt;nvim ~/.zshrc&lt;/code&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;Source config&lt;/td&gt;&#xA;&lt;td&gt;&lt;code&gt;source ~/.zshrc&lt;/code&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;System update&lt;/td&gt;&#xA;&lt;td&gt;&lt;code&gt;sudo apt update &amp;amp;&amp;amp; sudo apt upgrade&lt;/code&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;Check tools&lt;/td&gt;&#xA;&lt;td&gt;&lt;code&gt;mise list&lt;/code&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;shell-aliases&#34;&gt;Shell Aliases &lt;a href=&#34;#shell-aliases&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Alias&lt;/th&gt;&#xA;&lt;th&gt;Command&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;l&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;&lt;code&gt;ls -la&lt;/code&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;la&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;&lt;code&gt;ls -A&lt;/code&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;g&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;&lt;code&gt;git&lt;/code&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;gs&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;&lt;code&gt;git status&lt;/code&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;k&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;&lt;code&gt;kubectl&lt;/code&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;dc&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;&lt;code&gt;docker-compose&lt;/code&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;git-workflow&#34;&gt;Git Workflow &lt;a href=&#34;#git-workflow&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;daily-commit-pattern&#34;&gt;Daily Commit Pattern &lt;a href=&#34;#daily-commit-pattern&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 1. Check what changed&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gs&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 2. Stage changes&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gitui    &lt;span class=&#34;c1&#34;&gt;# Visual staging&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 3. Commit&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# In gitui: Space files → c → type message → Enter&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 4. Push to remote&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git push&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;branch-management&#34;&gt;Branch Management &lt;a href=&#34;#branch-management&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Switch branches&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git checkout branch-name&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Create new branch&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git checkout -b feature-name&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Sync with main&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git checkout main&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git pull origin main&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git checkout feature-branch&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git merge main&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;end-of-day&#34;&gt;End of Day &lt;a href=&#34;#end-of-day&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;clean-up&#34;&gt;Clean Up &lt;a href=&#34;#clean-up&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Commit all work&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;gs&lt;/code&gt; → check status&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;gitui&lt;/code&gt; → stage and commit&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;git push&lt;/code&gt; → sync to remote&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Save session&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;tmux sessions persist automatically&lt;/li&gt;&#xA;&lt;li&gt;Clean up temporary scratch sessions&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Update notes&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Ctrl+T&lt;/code&gt; → todo session&lt;/li&gt;&#xA;&lt;li&gt;Update doing.md/done.md&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;troubleshooting-quick-fixes&#34;&gt;Troubleshooting Quick Fixes &lt;a href=&#34;#troubleshooting-quick-fixes&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;merge-conflicts&#34;&gt;Merge Conflicts &lt;a href=&#34;#merge-conflicts&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Edit conflicts&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;nvim &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;git diff --name-only &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; head -1&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Or use gitui&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gitui  &lt;span class=&#34;c1&#34;&gt;# Shows conflicted files, press e to edit&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;file-recovery&#34;&gt;File Recovery &lt;a href=&#34;#file-recovery&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Restore deleted file&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git checkout HEAD -- filename&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Undo last commit (keep changes)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git reset --soft HEAD~1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Discard all local changes&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git reset --hard HEAD&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;quick-reference-card&#34;&gt;Quick Reference Card &lt;a href=&#34;#quick-reference-card&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Session:&lt;/strong&gt; &lt;code&gt;Alt+Space&lt;/code&gt; → select&#xA;&lt;strong&gt;Files:&lt;/strong&gt; &lt;code&gt;Ctrl+T&lt;/code&gt; → find → &lt;code&gt;Enter&lt;/code&gt;&#xA;&lt;strong&gt;Edit:&lt;/strong&gt; &lt;code&gt;nvim filename&lt;/code&gt;&#xA;&lt;strong&gt;Git:&lt;/strong&gt; &lt;code&gt;gitui&lt;/code&gt; → &lt;code&gt;Space&lt;/code&gt; files → &lt;code&gt;c&lt;/code&gt;&#xA;&lt;strong&gt;Search:&lt;/strong&gt; &lt;code&gt;Ctrl+F&lt;/code&gt; → type → &lt;code&gt;Enter&lt;/code&gt;&#xA;&lt;strong&gt;Todo:&lt;/strong&gt; &lt;code&gt;Ctrl+T&lt;/code&gt; (tmux todo session)&lt;/p&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Cheatsheets</title>
    <id>https://dots.waylonwalker.com/cheatsheets/</id>
    <updated>2026-02-08T00:00:00Z</updated>
    <published>2026-02-08T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/cheatsheets/" rel="alternate" type="text/html"></link>
    <summary type="text">Quick reference cards for common operations and keybindings</summary>
    <content type="html">&lt;p&gt;Quick reference guides for the most commonly used tools and workflows. Perfect for when you need a reminder of that one keybinding or command.&lt;/p&gt;&#xA;&lt;h2 id=&#34;terminal--shell&#34;&gt;Terminal &amp;amp; Shell &lt;a href=&#34;#terminal--shell&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/cheatsheets/zsh/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;ZSH Cheatsheet&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;ZSH shell keybindings and productivity features&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 8, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/cheatsheets/fzf/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;fzf Cheatsheet&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;fzf keybindings and fuzzy finder quick reference&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 8, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;!-- embed not found: cheatsheets/starship --&gt;&#xA;&lt;p&gt;![[ cheatsheets/starship ]]&lt;/p&gt;&#xA;&lt;h2 id=&#34;editors--development&#34;&gt;Editors &amp;amp; Development &lt;a href=&#34;#editors--development&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/cheatsheets/neovim/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;Neovim Cheatsheet&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;Neovim keybindings and essential commands quick reference&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 8, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/cheatsheets/gitui/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;GitUI Cheatsheet&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;GitUI TUI git client keybindings and quick reference&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 8, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;!-- embed not found: cheatsheets/lazygit --&gt;&#xA;&lt;p&gt;![[ cheatsheets/lazygit ]]&lt;/p&gt;&#xA;&lt;h2 id=&#34;terminal-multiplexers&#34;&gt;Terminal Multiplexers &lt;a href=&#34;#terminal-multiplexers&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/cheatsheets/tmux/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;tmux Cheatsheet&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;tmux keybindings and quick reference&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 8, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;!-- embed not found: cheatsheets/zellij --&gt;&#xA;&lt;p&gt;![[ cheatsheets/zellij ]]&lt;/p&gt;&#xA;&lt;h2 id=&#34;file-management&#34;&gt;File Management &lt;a href=&#34;#file-management&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/cheatsheets/lf/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;LF Cheatsheet&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;LF file manager keybindings and quick reference&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 8, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;!-- embed not found: cheatsheets/yazi --&gt;&#xA;&lt;p&gt;![[ cheatsheets/yazi ]]&lt;/p&gt;&#xA;&lt;h2 id=&#34;git--version-control&#34;&gt;Git &amp;amp; Version Control &lt;a href=&#34;#git--version-control&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/cheatsheets/git/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;Git Cheatsheet&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;Git commands and workflows quick reference&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 8, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;!-- embed not found: cheatsheets/gh --&gt;&#xA;&lt;p&gt;![[ cheatsheets/gh ]]&lt;/p&gt;&#xA;&lt;h2 id=&#34;utilities&#34;&gt;Utilities &lt;a href=&#34;#utilities&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;!-- embed not found: cheatsheets/atuin --&gt;&#xA;&lt;p&gt;![[ cheatsheets/atuin ]]&lt;/p&gt;&#xA;&lt;!-- embed not found: cheatsheets/delta --&gt;&#xA;&lt;p&gt;![[ cheatsheets/delta ]]&lt;/p&gt;&#xA;&lt;!-- embed not found: cheatsheets/workspace --&gt;&#xA;&lt;p&gt;![[ cheatsheets/workspace ]]&lt;/p&gt;&#xA;&lt;h2 id=&#34;workflow-cheatsheets&#34;&gt;Workflow Cheatsheets &lt;a href=&#34;#workflow-cheatsheets&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/cheatsheets/daily-workflow/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;Daily Workflow Cheatsheet&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;Daily terminal workflow and productivity patterns&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 8, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;!-- embed not found: cheatsheets/git-workflow --&gt;&#xA;&lt;p&gt;![[ cheatsheets/git-workflow ]]&lt;/p&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/cheatsheets/session-management/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;Session Management Cheatsheet&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;Terminal session management with tmux and workspace patterns&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 8, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>zsh Configuration</title>
    <id>https://dots.waylonwalker.com/zsh/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/zsh/" rel="alternate" type="text/html"></link>
    <summary type="text">zsh shell configuration - my primary shell with autosuggestions, syntax highlighting, and custom functions</summary>
    <content type="html">&lt;p&gt;zsh is my primary shell, configured for productivity with autosuggestions,&#xA;syntax highlighting, and a custom prompt.&lt;/p&gt;&#xA;&lt;h2 id=&#34;features&#34;&gt;Features &lt;a href=&#34;#features&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;zsh-autosuggestions&lt;/strong&gt; - Fish-like suggestions as you type&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;zsh-syntax-highlighting&lt;/strong&gt; - Command validation as you type&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Starship prompt&lt;/strong&gt; - Fast, customizable prompt with git info&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;fzf integration&lt;/strong&gt; - Fuzzy completion and history search&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Atuin&lt;/strong&gt; - Enhanced shell history with sync&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;setup&#34;&gt;Setup &lt;a href=&#34;#setup&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;installation&#34;&gt;Installation &lt;a href=&#34;#installation&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;zsh should be installed via your package manager:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Ubuntu/Debian&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt install zsh&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Arch Linux&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo pacman -S zsh&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# macOS&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;brew install zsh&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Make zsh your default shell:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;chsh -s &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;which zsh&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;configuration&#34;&gt;Configuration &lt;a href=&#34;#configuration&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;The main config file is &lt;code&gt;~/.zshrc&lt;/code&gt;. Key sections include:&lt;/p&gt;&#xA;&lt;h4 id=&#34;path-management&#34;&gt;Path Management &lt;a href=&#34;#path-management&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h4&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;PATH&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$HOME&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;/.local/bin:&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$PATH&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;PATH&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$HOME&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;/.cargo/bin:&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$PATH&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;PATH&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$HOME&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;/go/bin:&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$PATH&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h4 id=&#34;tool-activation&#34;&gt;Tool Activation &lt;a href=&#34;#tool-activation&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h4&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# mise (tool manager)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;eval&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;~/.local/bin/mise activate zsh&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# starship prompt&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;eval&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;starship init zsh&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# atuin history&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;eval&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;atuin init zsh&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# direnv&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;eval&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;direnv hook zsh&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h4 id=&#34;plugins&#34;&gt;Plugins &lt;a href=&#34;#plugins&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h4&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# These provide suggestions and highlighting&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;source&lt;/span&gt; ~/.zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;source&lt;/span&gt; ~/.zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;source&lt;/span&gt; ~/.zsh/plugins/zsh-history-substring-search/zsh-history-substring-search.zsh&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;custom-functions&#34;&gt;Custom Functions &lt;a href=&#34;#custom-functions&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;web2app&#34;&gt;web2app &lt;a href=&#34;#web2app&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;Create desktop web app launchers:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;web2app &lt;span class=&#34;s2&#34;&gt;&amp;#34;GitHub&amp;#34;&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;https://github.com&amp;#34;&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;https://icon-url.png&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;browser-detection&#34;&gt;Browser Detection &lt;a href=&#34;#browser-detection&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;Automatically detects your default browser from desktop files:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Falls back through: brave, chromium, google-chrome, firefox&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$BROWSER&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;history-configuration&#34;&gt;History Configuration &lt;a href=&#34;#history-configuration&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Extended history with sharing between sessions:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;HISTFILESIZE&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;1000000000&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;HISTSIZE&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;1000000000&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;SAVEHIST&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;1000000000&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;setopt appendhistory&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;setopt share_history&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;key-bindings&#34;&gt;Key Bindings &lt;a href=&#34;#key-bindings&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+E&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Edit command in $EDITOR&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+K&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Clear screen and run wfetch&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+N&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Expand alias&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+P&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;List all commands with fzf&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+G&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Open gitui&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Up/Down&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;History search by prefix&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;completion&#34;&gt;Completion &lt;a href=&#34;#completion&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Advanced completion with:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Case-insensitive matching&lt;/li&gt;&#xA;&lt;li&gt;Fuzzy matching&lt;/li&gt;&#xA;&lt;li&gt;Menu selection with arrow keys&lt;/li&gt;&#xA;&lt;li&gt;Grouped results with descriptions&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;see-also&#34;&gt;See Also &lt;a href=&#34;#see-also&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/starship/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;Starship Prompt&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;Starship - minimal, fast, and customizable shell prompt&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/atuin/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;Atuin&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;Atuin - a magical shell history with sync&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/mise/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;mise Tool Management&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;mise - the universal version manager for development tools&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card embed-card-external&#34;&gt;&#xA;  &lt;a href=&#34;https://zsh.sourceforge.io/Doc/&#34; class=&#34;embed-card-link&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;ZSH - Documentation&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;zsh.sourceforge.io&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Zellij</title>
    <id>https://dots.waylonwalker.com/zellij/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/zellij/" rel="alternate" type="text/html"></link>
    <summary type="text">Zellij - a terminal workspace with batteries included</summary>
    <content type="html">&lt;p&gt;Zellij is a terminal workspace with batteries included. It&#39;s a modern alternative to tmux and screen.&lt;/p&gt;&#xA;&lt;h2 id=&#34;features&#34;&gt;Features &lt;a href=&#34;#features&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Layout system&lt;/strong&gt; - Define window layouts in YAML&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Plugins&lt;/strong&gt; - Extend functionality with WebAssembly plugins&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Rust-based&lt;/strong&gt; - Fast and safe implementation&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;WebAssembly&lt;/strong&gt; - Plugin system built on WASM&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Easy to use&lt;/strong&gt; - Sensible defaults, minimal configuration&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;setup&#34;&gt;Setup &lt;a href=&#34;#setup&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Install via package manager:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Via mise (recommended)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mise install zellij&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Arch Linux&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo pacman -S zellij&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# macOS&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;brew install zellij&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Cargo&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cargo install zellij&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;launching&#34;&gt;Launching &lt;a href=&#34;#launching&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Start new session&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;zellij&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Start with specific layout&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;zellij --layout mylayout&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Attach to existing&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;zellij attach&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# List sessions&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;zellij list-sessions&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;key-bindings&#34;&gt;Key Bindings &lt;a href=&#34;#key-bindings&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Zellij uses &lt;code&gt;Ctrl+g&lt;/code&gt; as the prefix key:&lt;/p&gt;&#xA;&lt;h3 id=&#34;session&#34;&gt;Session &lt;a href=&#34;#session&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+g&lt;/code&gt; &lt;code&gt;d&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Detach&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+g&lt;/code&gt; &lt;code&gt;q&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Quit&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+g&lt;/code&gt; &lt;code&gt;s&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Session manager&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;panes&#34;&gt;Panes &lt;a href=&#34;#panes&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+g&lt;/code&gt; &lt;code&gt;n&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;New pane (horizontal)&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+g&lt;/code&gt; &lt;code&gt;p&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;New pane (vertical)&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+g&lt;/code&gt; &lt;code&gt;x&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Close pane&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+g&lt;/code&gt; &lt;code&gt;h/j/k/l&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Move between panes&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+g&lt;/code&gt; &lt;code&gt;f&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Fullscreen pane&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Alt+Arrow&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Move between panes (no prefix)&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;tabs&#34;&gt;Tabs &lt;a href=&#34;#tabs&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+g&lt;/code&gt; &lt;code&gt;c&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;New tab&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+g&lt;/code&gt; &lt;code&gt;,&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Rename tab&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+g&lt;/code&gt; &lt;code&gt;Ctrl+h/l&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Previous/next tab&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+g&lt;/code&gt; &lt;code&gt;[1-9]&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Go to tab&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;scrollsearch&#34;&gt;Scroll/Search &lt;a href=&#34;#scrollsearch&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+g&lt;/code&gt; &lt;code&gt;[&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Enter scroll mode&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+s&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Search (in scroll mode)&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;n/N&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Next/previous match&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Esc&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Exit scroll mode&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;layouts&#34;&gt;Layouts &lt;a href=&#34;#layouts&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Create layouts in &lt;code&gt;~/.config/zellij/layouts/&lt;/code&gt;:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# ~/.config/zellij/layouts/dev.yaml&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;template&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;direction&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;Horizontal&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;parts&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;- &lt;span class=&#34;nt&#34;&gt;direction&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;Vertical&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;split_size&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;        &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;Percent&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;m&#34;&gt;50&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;parts&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;        &lt;/span&gt;- &lt;span class=&#34;nt&#34;&gt;direction&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;Vertical&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;        &lt;/span&gt;- &lt;span class=&#34;nt&#34;&gt;direction&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;Vertical&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;- &lt;span class=&#34;nt&#34;&gt;direction&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;Vertical&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;split_size&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;        &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;Percent&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;m&#34;&gt;50&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;parts&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;        &lt;/span&gt;- &lt;span class=&#34;nt&#34;&gt;direction&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;Vertical&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;          &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;run&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;            &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;command&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;{&lt;span class=&#34;nt&#34;&gt;cmd: cargo, args&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;watch&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;-x&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;run&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;}&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Use: &lt;code&gt;zellij --layout dev&lt;/code&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;configuration&#34;&gt;Configuration &lt;a href=&#34;#configuration&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Config file: &lt;code&gt;~/.config/zellij/config.kdl&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;Example:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code class=&#34;language-kdl&#34;&gt;theme &amp;quot;dracula&amp;quot;&#xA;&#xA;default_shell &amp;quot;zsh&amp;quot;&#xA;&#xA;keybinds {&#xA;    normal {&#xA;        bind &amp;quot;Ctrl a&amp;quot; { SwitchToMode &amp;quot;Tmux&amp;quot;; }&#xA;    }&#xA;}&#xA;&#xA;plugins {&#xA;    filepicker location=&amp;quot;zellij:filepicker&amp;quot;&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;see-also&#34;&gt;See Also &lt;a href=&#34;#see-also&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/tmux/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;tmux Configuration&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;tmux configuration for persistent terminal sessions with popup windows and session management&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/zsh/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;zsh Configuration&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;zsh shell configuration - my primary shell with autosuggestions, syntax highlighting, and custom functions&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/workspace/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;Workspace Script&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;Workspace script - session management automation for tmux&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/cheatsheets/session-management/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;Session Management Cheatsheet&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;Terminal session management with tmux and workspace patterns&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 8, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card embed-card-external&#34;&gt;&#xA;  &lt;a href=&#34;https://zellij.dev/documentation/&#34; class=&#34;embed-card-link&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;Introduction - Zellij User Guide&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;zellij.dev&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Yep</title>
    <id>https://dots.waylonwalker.com/yep/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/yep/" rel="alternate" type="text/html"></link>
    <summary type="text">Things I endorse and recommend</summary>
    <content type="html">&lt;p&gt;Things I use, recommend, and endorse without reservation.&lt;/p&gt;&#xA;&lt;h2 id=&#34;software&#34;&gt;Software &lt;a href=&#34;#software&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;development&#34;&gt;Development &lt;a href=&#34;#development&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Neovim&lt;/strong&gt; - Modern vim. Fast, extensible, powerful. See &lt;a href=&#34;/neovim/&#34; class=&#34;wikilink&#34; data-title=&#34;Neovim Configuration&#34; data-description=&#34;Neovim configuration with lazy.nvim for plugin management&#34; data-date=&#34;2026-02-07&#34;&gt;Neovim Configuration&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;tmux&lt;/strong&gt; - Terminal multiplexer that changed how I work. See &lt;a href=&#34;/tmux/&#34; class=&#34;wikilink&#34; data-title=&#34;tmux Configuration&#34; data-description=&#34;tmux configuration for persistent terminal sessions with popup windows and session management&#34; data-date=&#34;2026-02-07&#34;&gt;tmux Configuration&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;zsh&lt;/strong&gt; - Best shell experience with the right plugins. See &lt;a href=&#34;/zsh/&#34; class=&#34;wikilink&#34; data-title=&#34;zsh Configuration&#34; data-description=&#34;zsh shell configuration - my primary shell with autosuggestions, syntax highlighting, and custom functions&#34; data-date=&#34;2026-02-07&#34;&gt;zsh Configuration&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;mise&lt;/strong&gt; - One tool to manage all dev tool versions. See &lt;a href=&#34;/mise/&#34; class=&#34;wikilink&#34; data-title=&#34;mise Tool Management&#34; data-description=&#34;mise - the universal version manager for development tools&#34; data-date=&#34;2026-02-07&#34;&gt;mise Tool Management&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;fzf&lt;/strong&gt; - Fuzzy finding that integrates everywhere. See &lt;a href=&#34;/fzf/&#34; class=&#34;wikilink&#34; data-title=&#34;fzf&#34; data-description=&#34;fzf - a command-line fuzzy finder&#34; data-date=&#34;2026-02-07&#34;&gt;fzf&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;git&lt;/strong&gt; - Version control done right. See &lt;a href=&#34;/git/&#34; class=&#34;wikilink&#34; data-title=&#34;Git Configuration&#34; data-description=&#34;Git configuration with aliases, delta for diffs, and work/personal separation&#34; data-date=&#34;2026-02-07&#34;&gt;Git Configuration&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;uv&lt;/strong&gt; - Python packaging and dependency management done right. See [[uv]]&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;terminal&#34;&gt;Terminal &lt;a href=&#34;#terminal&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;kitty&lt;/strong&gt; - GPU-accelerated terminal. See &lt;a href=&#34;/kitty/&#34; class=&#34;wikilink&#34; data-title=&#34;kitty Terminal&#34; data-description=&#34;kitty - a fast, feature-rich, GPU-based terminal emulator&#34; data-date=&#34;2026-02-07&#34;&gt;kitty Terminal&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;wezterm&lt;/strong&gt; - Cross-platform and scriptable. See &lt;a href=&#34;/wezterm/&#34; class=&#34;wikilink&#34; data-title=&#34;WezTerm&#34; data-description=&#34;WezTerm - a GPU-accelerated cross-platform terminal emulator&#34; data-date=&#34;2026-02-07&#34;&gt;WezTerm&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;window-management&#34;&gt;Window Management &lt;a href=&#34;#window-management&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Hyprland&lt;/strong&gt; - Wayland tiling compositor with excellent workspace support. See &lt;a href=&#34;/hyprland/&#34; class=&#34;wikilink&#34; data-title=&#34;Hyprland Window Manager&#34; data-description=&#34;Hyprland - a dynamic tiling Wayland compositor&#34; data-date=&#34;2026-02-07&#34;&gt;Hyprland Window Manager&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Awesome WM&lt;/strong&gt; - When I need X11. See &lt;a href=&#34;/awesome/&#34; class=&#34;wikilink&#34; data-title=&#34;Awesome Window Manager&#34; data-description=&#34;Awesome WM - a highly configurable X11 window manager&#34; data-date=&#34;2026-02-07&#34;&gt;Awesome Window Manager&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;KDE Plasma&lt;/strong&gt; - Actually like this DE - great workspace management and keyboard shortcuts&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;I need window managers with robust workspace hotkeys: win+num to switch, win+shift+num to send apps, win+ctrl+num to join workspaces. Both tiling and floating work fine if the workspace management is solid.&lt;/p&gt;&#xA;&lt;h3 id=&#34;utilities&#34;&gt;Utilities &lt;a href=&#34;#utilities&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;atuin&lt;/strong&gt; - Shell history that syncs. See &lt;a href=&#34;/atuin/&#34; class=&#34;wikilink&#34; data-title=&#34;Atuin&#34; data-description=&#34;Atuin - a magical shell history with sync&#34; data-date=&#34;2026-02-07&#34;&gt;Atuin&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;starship&lt;/strong&gt; - Fast, informative prompt. See &lt;a href=&#34;/starship/&#34; class=&#34;wikilink&#34; data-title=&#34;Starship Prompt&#34; data-description=&#34;Starship - minimal, fast, and customizable shell prompt&#34; data-date=&#34;2026-02-07&#34;&gt;Starship Prompt&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;gitui&lt;/strong&gt; - Fast git TUI written in Rust. See &lt;a href=&#34;/gitui/&#34; class=&#34;wikilink&#34; data-title=&#34;gitui&#34; data-description=&#34;gitui - a blazing-fast terminal UI for git&#34; data-date=&#34;2026-02-07&#34;&gt;gitui&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;lazygit&lt;/strong&gt; - Alternative git UI. See &lt;a href=&#34;/lazygit/&#34; class=&#34;wikilink&#34; data-title=&#34;Lazygit&#34; data-description=&#34;Lazygit - a simple terminal UI for git commands&#34; data-date=&#34;2026-02-07&#34;&gt;Lazygit&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;lf&lt;/strong&gt; - Fast terminal file manager. See &lt;a href=&#34;/lf/&#34; class=&#34;wikilink&#34; data-title=&#34;lf&#34; data-description=&#34;lf - a terminal file manager written in Go&#34; data-date=&#34;2026-02-07&#34;&gt;lf&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;yazi&lt;/strong&gt; - Alternative file manager with async I/O. See &lt;a href=&#34;/yazi/&#34; class=&#34;wikilink&#34; data-title=&#34;Yazi&#34; data-description=&#34;Yazi - a terminal file manager&#34; data-date=&#34;2026-02-07&#34;&gt;Yazi&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;python&#34;&gt;Python &lt;a href=&#34;#python&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;uv&lt;/strong&gt; - Fast, all-in-one Python packaging and dependency management&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;ruff&lt;/strong&gt; - Fast Python linter and formatter&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;pytest&lt;/strong&gt; - Testing without complexity&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;hardware&#34;&gt;Hardware &lt;a href=&#34;#hardware&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;em&gt;(Add specific hardware recommendations if desired)&lt;/em&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;workflows&#34;&gt;Workflows &lt;a href=&#34;#workflows&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Keyboard-driven everything&lt;/strong&gt; - Minimize mouse usage&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Win+num workspace switching&lt;/strong&gt; - Instant access to any workspace&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Dotfiles in git&lt;/strong&gt; - Version control everything&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Containers for isolation&lt;/strong&gt; - Keep host system clean&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Documentation as code&lt;/strong&gt; - Write it down, automate it&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Vanilla JS&lt;/strong&gt; - Prefer simple over complex build pipelines&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;development-approach&#34;&gt;Development Approach &lt;a href=&#34;#development-approach&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;javascriptfrontend&#34;&gt;JavaScript/Frontend &lt;a href=&#34;#javascriptfrontend&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Vanilla JavaScript&lt;/strong&gt; - No build step, no dependencies when possible&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;CDN libraries&lt;/strong&gt; - Alpine.js, htmx, or similar via script tag&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Avoid heavy frameworks&lt;/strong&gt; - No webpack, no deep node_modules trees&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Progressive enhancement&lt;/strong&gt; - Start simple, add complexity only when needed&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;python-1&#34;&gt;Python &lt;a href=&#34;#python-1&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;uv&lt;/strong&gt; - For all dependency management and virtual environments&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;pyproject.toml&lt;/strong&gt; - Modern Python packaging standard&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Simple structure&lt;/strong&gt; - Flat is better than nested&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Type hints&lt;/strong&gt; - For code clarity without ceremony&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;principles&#34;&gt;Principles &lt;a href=&#34;#principles&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Open source over proprietary when possible&lt;/li&gt;&#xA;&lt;li&gt;Simple over complex&lt;/li&gt;&#xA;&lt;li&gt;Fast over feature-rich&lt;/li&gt;&#xA;&lt;li&gt;Keyboard over mouse&lt;/li&gt;&#xA;&lt;li&gt;Text over GUI&lt;/li&gt;&#xA;&lt;li&gt;Vanilla over framework when feasible&lt;/li&gt;&#xA;&lt;li&gt;One tool that does it well over many tools&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;See &lt;a href=&#34;/nope/&#34; class=&#34;wikilink&#34; data-title=&#34;Nope&#34; data-description=&#34;Things I avoid and do not recommend&#34; data-date=&#34;2026-02-07&#34;&gt;Nope&lt;/a&gt; for things I avoid.&lt;/p&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Yazi</title>
    <id>https://dots.waylonwalker.com/yazi/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/yazi/" rel="alternate" type="text/html"></link>
    <summary type="text">Yazi - a terminal file manager</summary>
    <content type="html">&lt;p&gt;Yazi is a blazing-fast terminal file manager written in Rust with async I/O.&lt;/p&gt;&#xA;&lt;h2 id=&#34;features&#34;&gt;Features &lt;a href=&#34;#features&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Async I/O&lt;/strong&gt; - Non-blocking file operations&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Fast&lt;/strong&gt; - Written in Rust, optimized for speed&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Previews&lt;/strong&gt; - Built-in image, video, and code previews&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Customizable&lt;/strong&gt; - Keybindings, themes, and plugins&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Integration&lt;/strong&gt; - Works with neovim, tmux, shells&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;setup&#34;&gt;Setup &lt;a href=&#34;#setup&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Install via package manager:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Via mise (recommended)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mise install yazi&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Or install script&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl --proto &lt;span class=&#34;s1&#34;&gt;&amp;#39;=https&amp;#39;&lt;/span&gt; --tlsv1.2 -sSf https://sh.rustup.rs &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; sh&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Then cargo install yazi-fm&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Arch Linux (AUR)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;yay -S yazi&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;configuration&#34;&gt;Configuration &lt;a href=&#34;#configuration&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Config directory: &lt;code&gt;~/.config/yazi/&lt;/code&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;yazi.toml&lt;/code&gt; - General configuration&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;keymap.toml&lt;/code&gt; - Key bindings&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;theme.toml&lt;/code&gt; - Colors and styling&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;key-bindings&#34;&gt;Key Bindings &lt;a href=&#34;#key-bindings&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;navigation&#34;&gt;Navigation &lt;a href=&#34;#navigation&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;j/k&lt;/code&gt; or &lt;code&gt;↓/↑&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Move down/up&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;h/l&lt;/code&gt; or &lt;code&gt;←/→&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Parent/child directory&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;gg&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Go to top&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;G&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Go to bottom&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;H&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Back in history&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;L&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Forward in history&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;file-operations&#34;&gt;File Operations &lt;a href=&#34;#file-operations&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Space&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Select item&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;y&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Yank (copy)&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;x&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Cut&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;p&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Paste&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;d&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Delete&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;D&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Permanent delete&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;r&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Rename&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;a&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Create file&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;A&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Create directory&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Enter&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Open file&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;o&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Open with specific app&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;view&#34;&gt;View &lt;a href=&#34;#view&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Tab&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Switch panel&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;~&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Go to home&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;.&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Toggle hidden files&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;s&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Search files&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;S&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Search contents&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;/&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Filter items&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;z&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Jump to directory&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;c&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Copy path&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;shell-integration&#34;&gt;Shell Integration &lt;a href=&#34;#shell-integration&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Add to &lt;code&gt;~/.zshrc&lt;/code&gt;:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;function&lt;/span&gt; yy&lt;span class=&#34;o&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nb&#34;&gt;local&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;tmp&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;mktemp -t &lt;span class=&#34;s2&#34;&gt;&amp;#34;yazi-cwd.XXXXXX&amp;#34;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    yazi &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$@&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt; --cwd-file&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$tmp&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;cwd&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;cat -- &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$tmp&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt; -n &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$cwd&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$cwd&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt; !&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$PWD&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;then&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; -- &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$cwd&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;fi&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    rm -f -- &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$tmp&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Then use &lt;code&gt;yy&lt;/code&gt; to launch yazi and automatically cd to the last visited directory on exit.&lt;/p&gt;&#xA;&lt;h2 id=&#34;see-also&#34;&gt;See Also &lt;a href=&#34;#see-also&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/neovim/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;Neovim Configuration&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;Neovim configuration with lazy.nvim for plugin management&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/zsh/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;zsh Configuration&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;zsh shell configuration - my primary shell with autosuggestions, syntax highlighting, and custom functions&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card embed-card-external&#34;&gt;&#xA;  &lt;a href=&#34;https://yazi-rs.github.io/&#34; class=&#34;embed-card-link&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-image&#34;&gt;&#xA;      &lt;img src=&#34;https://yazi-rs.github.io/webp/docusaurus-social-card.wbep&#34; alt=&#34;&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;Yazi&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;Blazing fast terminal file manager written in Rust, based on async I/O.&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;yazi-rs.github.io&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Workspace Script</title>
    <id>https://dots.waylonwalker.com/workspace/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/workspace/" rel="alternate" type="text/html"></link>
    <summary type="text">Workspace script - session management automation for tmux</summary>
    <content type="html">&lt;p&gt;A custom workspace management script that automates tmux session creation and management for organized project development.&lt;/p&gt;&#xA;&lt;h2 id=&#34;overview&#34;&gt;Overview &lt;a href=&#34;#overview&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;The workspace script provides automated tmux session management, making it easy to:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Create organized session groups&lt;/li&gt;&#xA;&lt;li&gt;Quickly switch between projects&lt;/li&gt;&#xA;&lt;li&gt;Maintain consistent development environments&lt;/li&gt;&#xA;&lt;li&gt;Sync workspace configuration across machines&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;location&#34;&gt;Location &lt;a href=&#34;#location&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;pre&gt;&lt;code&gt;~/git/workspaces/workspaces.py&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;features&#34;&gt;Features &lt;a href=&#34;#features&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Git repository discovery&lt;/strong&gt; - Automatically find repos in workspace directories&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Session groups&lt;/strong&gt; - Organize related projects&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Quick attach&lt;/strong&gt; - Fast switching between workspaces&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Configuration sync&lt;/strong&gt; - Keep workspace definitions in version control&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;usage&#34;&gt;Usage &lt;a href=&#34;#usage&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;basic-commands&#34;&gt;Basic Commands &lt;a href=&#34;#basic-commands&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Attach to workspace (creates if needed)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;~/git/workspaces/workspaces.py -W git attach&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Create new workspace&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;~/git/workspaces/workspaces.py -W git create&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Add current repo to workspace&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;~/git/workspaces/workspaces.py -W git add&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;from-tmux&#34;&gt;From tmux &lt;a href=&#34;#from-tmux&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;The script integrates with tmux keybindings:&lt;/p&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Alt+Space&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Attach to workspace&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Alt+T&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Attach to workspace in current directory&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Alt+Escape&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Create new workspace&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Alt+Backspace&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Add repo to workspace&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;how-it-works&#34;&gt;How It Works &lt;a href=&#34;#how-it-works&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;Discovers repositories&lt;/strong&gt; - Scans configured directories for git repos&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Creates sessions&lt;/strong&gt; - Generates tmux sessions with standardized layouts&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Manages windows&lt;/strong&gt; - Each repo gets its own window or layout&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Syncs config&lt;/strong&gt; - Stores workspace definitions in git-tracked files&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;configuration&#34;&gt;Configuration &lt;a href=&#34;#configuration&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Workspaces are defined in:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;~/.config/workspaces/config.toml&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Example:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;workspaces&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;git&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;path&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;~/git&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;auto_discover&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;layout&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;main-vertical&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;workspaces&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;work&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;path&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;~/work&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;auto_discover&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;false&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;repos&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;project1&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;project2&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;integration-with-tmux&#34;&gt;Integration with tmux &lt;a href=&#34;#integration-with-tmux&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;The script is called from tmux keybindings in &lt;code&gt;~/.tmux.conf&lt;/code&gt;:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;bind&lt;/span&gt; -n M-Space display-popup -T &lt;span class=&#34;s1&#34;&gt;&amp;#39;attach to workspace&amp;#39;&lt;/span&gt; -E -d &lt;span class=&#34;s1&#34;&gt;&amp;#39;~/git&amp;#39;&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;~/git/workspaces/workspaces.py -W git attach&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;This creates popup windows for workspace management without leaving your current context.&lt;/p&gt;&#xA;&lt;h2 id=&#34;see-also&#34;&gt;See Also &lt;a href=&#34;#see-also&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/tmux/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;tmux Configuration&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;tmux configuration for persistent terminal sessions with popup windows and session management&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/zsh/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;zsh Configuration&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;zsh shell configuration - my primary shell with autosuggestions, syntax highlighting, and custom functions&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card embed-card-external&#34;&gt;&#xA;  &lt;a href=&#34;https://github.com/nvim-telescope/telescope-project.nvim&#34; class=&#34;embed-card-link&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-image&#34;&gt;&#xA;      &lt;img src=&#34;https://opengraph.githubassets.com/cef280708e0cf0342e3f8c0c8de13142e4b51318e359dff2228822f304c07655/nvim-telescope/telescope-project.nvim&#34; alt=&#34;&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;GitHub - nvim-telescope/telescope-project.nvim&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;Contribute to nvim-telescope/telescope-project.nvim development by creating an account on GitHub.&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;GitHub &amp;middot; github.com&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>WezTerm</title>
    <id>https://dots.waylonwalker.com/wezterm/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/wezterm/" rel="alternate" type="text/html"></link>
    <summary type="text">WezTerm - a GPU-accelerated cross-platform terminal emulator</summary>
    <content type="html">&lt;p&gt;WezTerm is a GPU-accelerated cross-platform terminal emulator and multiplexer written in Rust.&lt;/p&gt;&#xA;&lt;h2 id=&#34;features&#34;&gt;Features &lt;a href=&#34;#features&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Cross-platform&lt;/strong&gt; - Works on Linux, macOS, and Windows&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;GPU-accelerated&lt;/strong&gt; - Smooth rendering using OpenGL&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Lua configuration&lt;/strong&gt; - Powerful scripting with Lua&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Built-in multiplexer&lt;/strong&gt; - Tabs and panes without external tools&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;SSH client&lt;/strong&gt; - Native SSH support with terminal features&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;setup&#34;&gt;Setup &lt;a href=&#34;#setup&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Install via package manager:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Ubuntu/Debian&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Download .deb from GitHub releases&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Arch Linux&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo pacman -S wezterm&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# macOS&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;brew install --cask wezterm&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Windows&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Download from GitHub releases or use winget&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;winget install wez.wezterm&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;configuration&#34;&gt;Configuration &lt;a href=&#34;#configuration&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Config file: &lt;code&gt;~/.config/wezterm/wezterm.lua&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;Example configuration:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;local&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;wezterm&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;require&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;wezterm&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;font&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;wezterm.font&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;JetBrains Mono&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;font_size&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;12.0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;color_scheme&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Dracula&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;window_background_opacity&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;0.95&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;enable_tab_bar&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;hide_tab_bar_if_only_one_tab&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;key-bindings&#34;&gt;Key Bindings &lt;a href=&#34;#key-bindings&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+Shift+T&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;New tab&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+Shift+W&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Close tab&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+Shift+Tab&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Next tab&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+Shift+Enter&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Split pane vertically&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+Shift+%&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Split pane horizontally&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+Shift+Arrow&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Move between panes&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+Shift+Space&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Quick select mode&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+Shift+F&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Search scrollback&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;multiplexer-features&#34;&gt;Multiplexer Features &lt;a href=&#34;#multiplexer-features&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;WezTerm includes a built-in multiplexer that can replace tmux:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;-- Enable multiplexing&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;config.leader&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;key&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;a&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;mods&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;CTRL&amp;#39;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;config.keys&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;key&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;|&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;mods&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;LEADER|SHIFT&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;action&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;wezterm.action&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;SplitHorizontal&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;domain&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;CurrentPaneDomain&amp;#39;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;key&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;-&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;mods&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;LEADER&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;action&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;wezterm.action&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;SplitVertical&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;domain&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;CurrentPaneDomain&amp;#39;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;see-also&#34;&gt;See Also &lt;a href=&#34;#see-also&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/kitty/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;kitty Terminal&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;kitty - a fast, feature-rich, GPU-based terminal emulator&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/tmux/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;tmux Configuration&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;tmux configuration for persistent terminal sessions with popup windows and session management&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card embed-card-external&#34;&gt;&#xA;  &lt;a href=&#34;https://wezfurlong.org/wezterm/&#34; class=&#34;embed-card-link&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-image&#34;&gt;&#xA;      &lt;img src=&#34;https://wezfurlong.org/assets/images/social/wezterm.png&#34; alt=&#34;&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;Wezterm - Wez Furlong&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;Wez Furlong&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;wezfurlong.org&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Waybar</title>
    <id>https://dots.waylonwalker.com/waybar/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/waybar/" rel="alternate" type="text/html"></link>
    <summary type="text">Waybar - a highly customizable Wayland bar</summary>
    <content type="html">&lt;p&gt;Waybar is a highly customizable Wayland bar for Sway and other wlroots-based compositors.&lt;/p&gt;&#xA;&lt;h2 id=&#34;features&#34;&gt;Features &lt;a href=&#34;#features&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Wayland native&lt;/strong&gt; - No XWayland needed&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;CSS styling&lt;/strong&gt; - Full CSS3 support for theming&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Modular&lt;/strong&gt; - Use only the modules you need&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Custom scripts&lt;/strong&gt; - Display any information via custom modules&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;System tray&lt;/strong&gt; - Support for tray icons&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;setup&#34;&gt;Setup &lt;a href=&#34;#setup&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Install via package manager:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Ubuntu/Debian&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt install waybar&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Arch Linux&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo pacman -S waybar&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Fedora&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo dnf install waybar&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;configuration&#34;&gt;Configuration &lt;a href=&#34;#configuration&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Config file: &lt;code&gt;~/.config/waybar/config&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;Example configuration:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;layer&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;top&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;position&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;top&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;height&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;30&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;modules-left&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;sway/workspaces&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;sway/mode&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;],&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;modules-center&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;sway/window&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;],&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;modules-right&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;pulseaudio&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;network&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;cpu&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;memory&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;battery&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;clock&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;tray&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;],&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;sway/workspaces&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nt&#34;&gt;&amp;#34;format&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;{name}&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;clock&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nt&#34;&gt;&amp;#34;format&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;{:%Y-%m-%d %H:%M}&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;battery&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nt&#34;&gt;&amp;#34;format&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;{capacity}% {icon}&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nt&#34;&gt;&amp;#34;format-icons&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;styling&#34;&gt;Styling &lt;a href=&#34;#styling&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Style file: &lt;code&gt;~/.config/waybar/style.css&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;Example styling:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;*&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;font-family&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;JetBrains Mono&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;sans-serif&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;font-size&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;13&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;px&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;window&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;#&lt;/span&gt;&lt;span class=&#34;nn&#34;&gt;waybar&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;background-color&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mh&#34;&gt;#1e1e2e&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;color&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mh&#34;&gt;#cdd6f4&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;#&lt;/span&gt;&lt;span class=&#34;nn&#34;&gt;workspaces&lt;/span&gt; &lt;span class=&#34;nt&#34;&gt;button&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;padding&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;px&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;color&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mh&#34;&gt;#cdd6f4&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;#&lt;/span&gt;&lt;span class=&#34;nn&#34;&gt;workspaces&lt;/span&gt; &lt;span class=&#34;nt&#34;&gt;button&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nc&#34;&gt;focused&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;background-color&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mh&#34;&gt;#313244&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;#&lt;/span&gt;&lt;span class=&#34;nn&#34;&gt;clock&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;padding&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;px&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;common-modules&#34;&gt;Common Modules &lt;a href=&#34;#common-modules&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;clock&lt;/strong&gt; - Date and time&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;battery&lt;/strong&gt; - Battery status&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;cpu&lt;/strong&gt; - CPU usage&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;memory&lt;/strong&gt; - RAM usage&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;network&lt;/strong&gt; - Network status&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;pulseaudio&lt;/strong&gt; - Volume control&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;tray&lt;/strong&gt; - System tray&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;workspaces&lt;/strong&gt; - Workspace tags&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;window&lt;/strong&gt; - Active window title&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;custom&lt;/strong&gt; - Custom scripts&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;custom-module-example&#34;&gt;Custom Module Example &lt;a href=&#34;#custom-module-example&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;custom/weather&amp;#34;&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;format&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;{}&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;exec&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;curl -s wttr.in/?format=1&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;interval&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;3600&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;see-also&#34;&gt;See Also &lt;a href=&#34;#see-also&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/hyprland/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;Hyprland Window Manager&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;Hyprland - a dynamic tiling Wayland compositor&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/polybar/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;Polybar&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;Polybar - a fast and easy-to-use status bar for X11&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card embed-card-external&#34;&gt;&#xA;  &lt;a href=&#34;https://github.com/Alexays/Waybar&#34; class=&#34;embed-card-link&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-image&#34;&gt;&#xA;      &lt;img src=&#34;https://opengraph.githubassets.com/2f72d8ff8e79b72c9177bb65cd265b57145ced504d5310b2e47d16119349b8ef/Alexays/Waybar&#34; alt=&#34;&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;GitHub - Alexays/Waybar: Highly customizable Wayland bar for Sway and Wlroots based compositors. :tada:&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;Highly customizable Wayland bar for Sway and Wlroots based compositors. :v: :tada: - GitHub - Alexays/Waybar: Highly customizable Wayland bar for Sway and Wlroots based compositors. :tada:&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;GitHub &amp;middot; github.com&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Uses</title>
    <id>https://dots.waylonwalker.com/uses/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/uses/" rel="alternate" type="text/html"></link>
    <summary type="text">Hardware and software I use daily</summary>
    <content type="html">&lt;p&gt;This is my setup - the hardware and software I use every day for development.&lt;/p&gt;&#xA;&lt;h2 id=&#34;hardware&#34;&gt;Hardware &lt;a href=&#34;#hardware&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;development-machine&#34;&gt;Development Machine &lt;a href=&#34;#development-machine&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;&lt;em&gt;(Update with your actual specs)&lt;/em&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;CPU&lt;/strong&gt;: AMD Ryzen or Intel&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;RAM&lt;/strong&gt;: 32GB+&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Storage&lt;/strong&gt;: NVMe SSD&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;GPU&lt;/strong&gt;: Integrated or dedicated for external displays&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Displays&lt;/strong&gt;: Multiple monitors for productivity&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;peripherals&#34;&gt;Peripherals &lt;a href=&#34;#peripherals&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Keyboard&lt;/strong&gt;: Mechanical with custom layout&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Mouse&lt;/strong&gt;: Trackball or ergonomic mouse (used minimally)&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Webcam&lt;/strong&gt;: For video calls&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Microphone&lt;/strong&gt;: For recording and calls&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;mobile&#34;&gt;Mobile &lt;a href=&#34;#mobile&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;&lt;em&gt;(Update with your actual devices)&lt;/em&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Phone&lt;/strong&gt;: Android or iOS&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Tablet&lt;/strong&gt;: For reading and media&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;software-stack&#34;&gt;Software Stack &lt;a href=&#34;#software-stack&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;operating-system&#34;&gt;Operating System &lt;a href=&#34;#operating-system&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;OS&lt;/strong&gt;: Arch Linux&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Window Manager&lt;/strong&gt;: Hyprland (Wayland)&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Terminal&lt;/strong&gt;: kitty&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Shell&lt;/strong&gt;: zsh with starship prompt&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;development-environment&#34;&gt;Development Environment &lt;a href=&#34;#development-environment&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Editor&lt;/strong&gt;: Neovim (lazy.nvim based config)&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Multiplexer&lt;/strong&gt;: tmux&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Version Control&lt;/strong&gt;: git with delta and gitui&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Tool Manager&lt;/strong&gt;: mise&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Container&lt;/strong&gt;: podman&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;daily-tools&#34;&gt;Daily Tools &lt;a href=&#34;#daily-tools&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Browser&lt;/strong&gt;: Brave&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Password Manager&lt;/strong&gt;: Bitwarden&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Notes&lt;/strong&gt;: Markdown files in git&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Chat&lt;/strong&gt;: Signal&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Music&lt;/strong&gt;: Streaming service&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;cli-tools&#34;&gt;CLI Tools &lt;a href=&#34;#cli-tools&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;Essential command-line tools:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;fzf&lt;/code&gt; - Fuzzy finder&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;ripgrep&lt;/code&gt; - Fast code search&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;fd&lt;/code&gt; - Fast file finder&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;bat&lt;/code&gt; - Syntax-highlighting cat&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;eza&lt;/code&gt; - Modern ls replacement&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;zoxide&lt;/code&gt; - Smart cd command&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;atuin&lt;/code&gt; - Shell history&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;lf&lt;/code&gt; - File manager (primary)&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;yazi&lt;/code&gt; - Alternative file manager&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;neovim-plugins&#34;&gt;Neovim Plugins &lt;a href=&#34;#neovim-plugins&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;Key plugins I rely on:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;lazy.nvim - Plugin manager&lt;/li&gt;&#xA;&lt;li&gt;telescope.nvim - Fuzzy finder&lt;/li&gt;&#xA;&lt;li&gt;nvim-lspconfig - LSP support&lt;/li&gt;&#xA;&lt;li&gt;nvim-treesitter - Syntax highlighting&lt;/li&gt;&#xA;&lt;li&gt;gitsigns.nvim - Git integration&lt;/li&gt;&#xA;&lt;li&gt;lualine.nvim - Status line&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;dotfiles-management&#34;&gt;Dotfiles Management &lt;a href=&#34;#dotfiles-management&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;All configurations are in the devtainer repository:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git clone https://github.com/waylonwalker/devtainer.git ~/devtainer&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Installed via symlinks or stow.&lt;/p&gt;&#xA;&lt;h2 id=&#34;workflow&#34;&gt;Workflow &lt;a href=&#34;#workflow&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Terminal (kitty) always open with tmux&lt;/li&gt;&#xA;&lt;li&gt;Neovim for all editing&lt;/li&gt;&#xA;&lt;li&gt;Browser for research and documentation&lt;/li&gt;&#xA;&lt;li&gt;Git for version control&lt;/li&gt;&#xA;&lt;li&gt;Containers for isolated environments&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;inspiration&#34;&gt;Inspiration &lt;a href=&#34;#inspiration&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;This /uses page is inspired by &lt;a href=&#34;https://uses.tech/&#34;&gt;uses.tech&lt;/a&gt; - a collection of developer setups.&lt;/p&gt;&#xA;&lt;p&gt;See &lt;a href=&#34;/defaults/&#34; class=&#34;wikilink&#34; data-title=&#34;Defaults&#34; data-description=&#34;My default choices for tools and technologies&#34; data-date=&#34;2026-02-07&#34;&gt;Defaults&lt;/a&gt; for my default tool choices when starting new projects.&lt;/p&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>tmux Configuration</title>
    <id>https://dots.waylonwalker.com/tmux/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/tmux/" rel="alternate" type="text/html"></link>
    <summary type="text">tmux configuration for persistent terminal sessions with popup windows and session management</summary>
    <content type="html">&lt;p&gt;tmux is a terminal multiplexer that lets you switch easily between several&#xA;programs in one terminal, detach them (they keep running in the background) and&#xA;reattach them to a different terminal.&lt;/p&gt;&#xA;&lt;h2 id=&#34;features&#34;&gt;Features &lt;a href=&#34;#features&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Popup windows&lt;/strong&gt; - Quick access to sessions and tools without leaving current&#xA;context&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Session management&lt;/strong&gt; - Easy switching between projects&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Vi mode&lt;/strong&gt; - Familiar keybindings for copy mode&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Minimal status bar&lt;/strong&gt; - Hidden by default, toggle when needed&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;setup&#34;&gt;Setup &lt;a href=&#34;#setup&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;installation&#34;&gt;Installation &lt;a href=&#34;#installation&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;Install via mise:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mise install tmux&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Or your package manager:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Ubuntu/Debian&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt install tmux&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Arch Linux&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo pacman -S tmux&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;configuration&#34;&gt;Configuration &lt;a href=&#34;#configuration&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;The config file is &lt;code&gt;~/.tmux.conf&lt;/code&gt;. Main settings:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Vi mode for copy/paste&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;setw -g mode-keys vi&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Don&amp;#39;t detach on destroy&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;set-option -g detach-on-destroy off&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Focus events for nvim integration&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;set-option -g focus-events on&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Hidden status bar by default&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;set-option -g status off&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;key-bindings&#34;&gt;Key Bindings &lt;a href=&#34;#key-bindings&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;prefix&#34;&gt;Prefix &lt;a href=&#34;#prefix&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;The prefix key is &lt;code&gt;Ctrl+Space&lt;/code&gt; (custom):&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;bind&lt;/span&gt; Space send-prefix&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;session-management&#34;&gt;Session Management &lt;a href=&#34;#session-management&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Alt+Space&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Popup: attach to workspace session&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Alt+T&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Popup: attach to workspace in current directory&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Alt+Escape&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Popup: create new workspace&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Alt+Backspace&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Popup: add repo to workspace&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+J&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Popup: switch to any session with fzf&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Alt+G&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Popup: open scratch session&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Alt+Shift+G&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Popup: open scratch session (large)&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+K&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Popup: kill sessions&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;J&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;tmux session tree browser&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;copy-mode&#34;&gt;Copy Mode &lt;a href=&#34;#copy-mode&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Alt+[&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Enter copy mode&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Alt+V&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Enter copy mode&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Alt+Enter&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Enter copy mode&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Enter&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Enter copy mode&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;Copy uses &lt;code&gt;wl-copy&lt;/code&gt; on Wayland or &lt;code&gt;xclip&lt;/code&gt; on X11.&lt;/p&gt;&#xA;&lt;h3 id=&#34;status-bar&#34;&gt;Status Bar &lt;a href=&#34;#status-bar&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Prefix+s&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Toggle status bar&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Prefix+Ctrl+S&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Toggle status bar&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;git-integration&#34;&gt;Git Integration &lt;a href=&#34;#git-integration&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Alt+F&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Popup: git commit --verbose&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Alt+Shift+F&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Popup: gitui&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;workspaces&#34;&gt;Workspaces &lt;a href=&#34;#workspaces&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+W&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Popup: attach to ~/work&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Alt+W&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Popup: attach to ~/work&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+G&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Popup: attach to ~/git&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+P&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Popup: attach to ~/project&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+T&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;New session: todo list in nvim&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;popup-windows&#34;&gt;Popup Windows &lt;a href=&#34;#popup-windows&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Popups are a key feature - they let you access tools without leaving your&#xA;current context:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Example: switch sessions without leaving current window&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;bind&lt;/span&gt; C-j display-popup -E &lt;span class=&#34;s2&#34;&gt;&amp;#34;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;    tmux list-sessions -F &amp;#39;#{?session_attached,,#{session_name}}&amp;#39; |\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;    sed &amp;#39;/^&lt;/span&gt;$&lt;span class=&#34;s2&#34;&gt;/d&amp;#39; |\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;    fzf --reverse --header jump-to-session --preview &amp;#39;tmux capture-pane -pt {}&amp;#39; \\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;        --bind &amp;#39;enter:execute(tmux switch-client -t {})+accept&amp;#39;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;workflows&#34;&gt;Workflows &lt;a href=&#34;#workflows&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;project-hopping&#34;&gt;Project Hopping &lt;a href=&#34;#project-hopping&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;code&gt;Alt+Space&lt;/code&gt; to see all workspace sessions&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Ctrl+J&lt;/code&gt; to fuzzy-find any session&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Alt+G&lt;/code&gt; for a quick scratch pad&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h3 id=&#34;git-workflow&#34;&gt;Git Workflow &lt;a href=&#34;#git-workflow&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;code&gt;Alt+F&lt;/code&gt; to write a commit message in a popup&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Alt+Shift+F&lt;/code&gt; for full gitui when needed&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h3 id=&#34;todo-management&#34;&gt;Todo Management &lt;a href=&#34;#todo-management&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;code&gt;Ctrl+T&lt;/code&gt; opens a dedicated todo session with three files:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;backlog.md&lt;/code&gt; - Things to do eventually&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;doing.md&lt;/code&gt; - Currently working on&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;done.md&lt;/code&gt; - Completed tasks&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;clipboard-integration&#34;&gt;Clipboard Integration &lt;a href=&#34;#clipboard-integration&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Copy mode automatically integrates with system clipboard:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;bind&lt;/span&gt; -T copy-mode-vi Enter send-keys -X copy-pipe-and-cancel &lt;span class=&#34;se&#34;&gt;\\&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;s2&#34;&gt;&amp;#34;bash -c &amp;#39;command -v wl-copy &amp;gt;/dev/null &amp;amp;&amp;amp; wl-copy || \\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;    xclip -i -f -selection primary | xclip -i -selection clipboard&amp;#39;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;see-also&#34;&gt;See Also &lt;a href=&#34;#see-also&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/zellij/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;Zellij&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;Zellij - a terminal workspace with batteries included&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/zsh/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;zsh Configuration&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;zsh shell configuration - my primary shell with autosuggestions, syntax highlighting, and custom functions&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/workspace/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;Workspace Script&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;Workspace script - session management automation for tmux&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card embed-card-external&#34;&gt;&#xA;  &lt;a href=&#34;https://github.com/tmux/tmux/wiki&#34; class=&#34;embed-card-link&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-image&#34;&gt;&#xA;      &lt;img src=&#34;https://opengraph.githubassets.com/4af025f64a340cae98c16826e770e0bf1f432116ea30a380012ada618cfa678b/tmux/tmux&#34; alt=&#34;&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;Home&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;tmux source code. Contribute to tmux/tmux development by creating an account on GitHub.&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;GitHub &amp;middot; github.com&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>tmux Session Switching Demo</title>
    <id>https://dots.waylonwalker.com/tmux-session-switching/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/tmux-session-switching/" rel="alternate" type="text/html"></link>
    <summary type="text">Demonstration of tmux session switching workflow for managing multiple projects</summary>
    <content type="html">&lt;p&gt;A demonstration of switching between multiple tmux sessions using Alt+Space and session management commands.&lt;/p&gt;&#xA;&lt;h2 id=&#34;what-is-shown&#34;&gt;What is Shown &lt;a href=&#34;#what-is-shown&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Multiple sessions running (dotfiles, project1, work)&lt;/li&gt;&#xA;&lt;li&gt;Switching between sessions with Alt+Space&lt;/li&gt;&#xA;&lt;li&gt;Checking current session context with pwd&lt;/li&gt;&#xA;&lt;li&gt;Listing all active sessions&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;key-takeaway&#34;&gt;Key Takeaway &lt;a href=&#34;#key-takeaway&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Session switching allows you to work on multiple projects simultaneously. Switch contexts instantly without losing your place in each project.&lt;/p&gt;&#xA;&lt;p&gt;&lt;video autoplay loop muted playsinline controls preload=&#34;metadata&#34; class=&#34;md-video&#34;&gt;&lt;source src=&#34;/tapes/tmux-session-switching.mp4&#34; type=&#34;video/mp4&#34;&gt;tmux session switching demo&lt;/video&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;related&#34;&gt;Related &lt;a href=&#34;#related&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/tmux/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;tmux Configuration&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;tmux configuration for persistent terminal sessions with popup windows and session management&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>tmux Scratch Session Demo</title>
    <id>https://dots.waylonwalker.com/tmux-scratch-session/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/tmux-scratch-session/" rel="alternate" type="text/html"></link>
    <summary type="text">Demonstration of tmux scratch session workflow for quick notes and experiments</summary>
    <content type="html">&lt;p&gt;A demonstration of using tmux scratch sessions for quick notes, experiments, and temporary work without cluttering your main workspace.&lt;/p&gt;&#xA;&lt;h2 id=&#34;what-is-shown&#34;&gt;What is Shown &lt;a href=&#34;#what-is-shown&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Working in a main project session&lt;/li&gt;&#xA;&lt;li&gt;Opening scratch session with Alt+G&lt;/li&gt;&#xA;&lt;li&gt;Running quick commands in the scratch pad&lt;/li&gt;&#xA;&lt;li&gt;Exiting back to the original session&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;key-takeaway&#34;&gt;Key Takeaway &lt;a href=&#34;#key-takeaway&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Scratch sessions provide a clean slate for quick experiments. Create one with Alt+G, do your work, then exit back to where you were.&lt;/p&gt;&#xA;&lt;p&gt;&lt;video autoplay loop muted playsinline controls preload=&#34;metadata&#34; class=&#34;md-video&#34;&gt;&lt;source src=&#34;/tapes/tmux-scratch-session.mp4&#34; type=&#34;video/mp4&#34;&gt;tmux scratch session demo&lt;/video&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;related&#34;&gt;Related &lt;a href=&#34;#related&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/tmux/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;tmux Configuration&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;tmux configuration for persistent terminal sessions with popup windows and session management&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>tmux Git Project Session Demo</title>
    <id>https://dots.waylonwalker.com/tmux-git-project-session/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/tmux-git-project-session/" rel="alternate" type="text/html"></link>
    <summary type="text">Demonstration of creating dedicated tmux sessions for git projects</summary>
    <content type="html">&lt;p&gt;A demonstration of creating dedicated tmux sessions for individual git repositories, keeping each project&#39;s context isolated.&lt;/p&gt;&#xA;&lt;h2 id=&#34;what-is-shown&#34;&gt;What is Shown &lt;a href=&#34;#what-is-shown&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Starting in a git repository&lt;/li&gt;&#xA;&lt;li&gt;Creating a new session named after the project&lt;/li&gt;&#xA;&lt;li&gt;Listing all active sessions&lt;/li&gt;&#xA;&lt;li&gt;Opening the editor in the new session context&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;key-takeaway&#34;&gt;Key Takeaway &lt;a href=&#34;#key-takeaway&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Dedicated sessions per project keep your workspaces organized. Each git repo gets its own tmux session with the correct working directory.&lt;/p&gt;&#xA;&lt;p&gt;&lt;video autoplay loop muted playsinline controls preload=&#34;metadata&#34; class=&#34;md-video&#34;&gt;&lt;source src=&#34;/tapes/tmux-git-project-session.mp4&#34; type=&#34;video/mp4&#34;&gt;tmux git project session demo&lt;/video&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;related&#34;&gt;Related &lt;a href=&#34;#related&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/tmux/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;tmux Configuration&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;tmux configuration for persistent terminal sessions with popup windows and session management&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/git/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;Git Configuration&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;Git configuration with aliases, delta for diffs, and work/personal separation&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Neovim Telescope File Finding Demo</title>
    <id>https://dots.waylonwalker.com/neovim-telescope/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/neovim-telescope/" rel="alternate" type="text/html"></link>
    <summary type="text">Demonstration of Neovim telescope for fuzzy file finding</summary>
    <content type="html">&lt;p&gt;A demonstration of using Telescope in Neovim for fuzzy file finding and navigation.&lt;/p&gt;&#xA;&lt;h2 id=&#34;what-is-shown&#34;&gt;What is Shown &lt;a href=&#34;#what-is-shown&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Opening Neovim&lt;/li&gt;&#xA;&lt;li&gt;Launching Telescope with Space+ff&lt;/li&gt;&#xA;&lt;li&gt;Typing to filter files&lt;/li&gt;&#xA;&lt;li&gt;Selecting and opening a file&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;key-takeaway&#34;&gt;Key Takeaway &lt;a href=&#34;#key-takeaway&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Telescope brings the power of fzf into Neovim. Find and open files without leaving your editor.&lt;/p&gt;&#xA;&lt;p&gt;&lt;video autoplay loop muted playsinline controls preload=&#34;metadata&#34; class=&#34;md-video&#34;&gt;&lt;source src=&#34;/tapes/neovim-telescope.mp4&#34; type=&#34;video/mp4&#34;&gt;neovim telescope demo&lt;/video&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;related&#34;&gt;Related &lt;a href=&#34;#related&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/neovim/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;Neovim Configuration&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;Neovim configuration with lazy.nvim for plugin management&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;!-- embed not found: telescope.nvim --&gt;&#xA;&lt;p&gt;![[ telescope.nvim ]]&lt;/p&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Neovim LSP Go-to-Definition Demo</title>
    <id>https://dots.waylonwalker.com/neovim-lsp-go-to-definition/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/neovim-lsp-go-to-definition/" rel="alternate" type="text/html"></link>
    <summary type="text">Demonstration of Neovim LSP go-to-definition and code navigation</summary>
    <content type="html">&lt;p&gt;A demonstration of Neovim&#39;s Language Server Protocol integration for code navigation and go-to-definition.&lt;/p&gt;&#xA;&lt;h2 id=&#34;what-is-shown&#34;&gt;What is Shown &lt;a href=&#34;#what-is-shown&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Opening a Python file in Neovim&lt;/li&gt;&#xA;&lt;li&gt;Navigating to a function call&lt;/li&gt;&#xA;&lt;li&gt;Using gd to jump to definition&lt;/li&gt;&#xA;&lt;li&gt;Using Ctrl+o to jump back&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;key-takeaway&#34;&gt;Key Takeaway &lt;a href=&#34;#key-takeaway&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;LSP transforms Neovim into a full IDE. Jump to definitions, see documentation, and refactor code with built-in intelligence.&lt;/p&gt;&#xA;&lt;p&gt;&lt;video autoplay loop muted playsinline controls preload=&#34;metadata&#34; class=&#34;md-video&#34;&gt;&lt;source src=&#34;/tapes/neovim-lsp-go-to-definition.mp4&#34; type=&#34;video/mp4&#34;&gt;neovim lsp demo&lt;/video&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;related&#34;&gt;Related &lt;a href=&#34;#related&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/neovim/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;Neovim Configuration&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;Neovim configuration with lazy.nvim for plugin management&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;!-- embed not found: nvim-lspconfig --&gt;&#xA;&lt;p&gt;![[ nvim-lspconfig ]]&lt;/p&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>lf in tmux Popup</title>
    <id>https://dots.waylonwalker.com/lf-tmux-popup/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/lf-tmux-popup/" rel="alternate" type="text/html"></link>
    <summary type="text">Demonstration of lf file manager integrated with tmux popup workflow</summary>
    <content type="html">&lt;p&gt;A demonstration of using lf inside a tmux popup window, showing the seamless integration between file management and terminal multiplexing.&lt;/p&gt;&#xA;&lt;h2 id=&#34;what-is-shown&#34;&gt;What is Shown &lt;a href=&#34;#what-is-shown&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Working in a terminal session&lt;/li&gt;&#xA;&lt;li&gt;Opening lf (simulating Alt+E popup binding)&lt;/li&gt;&#xA;&lt;li&gt;Navigating to a file&lt;/li&gt;&#xA;&lt;li&gt;Opening the file&lt;/li&gt;&#xA;&lt;li&gt;Returning to the original session&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;key-takeaway&#34;&gt;Key Takeaway &lt;a href=&#34;#key-takeaway&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;The tmux popup integration allows you to browse files without leaving your current context. Open files, check directories, then return exactly where you were.&lt;/p&gt;&#xA;&lt;p&gt;&lt;video autoplay loop muted playsinline controls preload=&#34;metadata&#34; class=&#34;md-video&#34;&gt;&lt;source src=&#34;/tapes/lf-tmux-popup.mp4&#34; type=&#34;video/mp4&#34;&gt;lf tmux popup demo&lt;/video&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;related&#34;&gt;Related &lt;a href=&#34;#related&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/lf/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;lf&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;lf - a terminal file manager written in Go&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/tmux/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;tmux Configuration&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;tmux configuration for persistent terminal sessions with popup windows and session management&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>lf File Manager Demo</title>
    <id>https://dots.waylonwalker.com/lf-intro/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/lf-intro/" rel="alternate" type="text/html"></link>
    <summary type="text">Demonstration of lf file manager navigation and basic operations</summary>
    <content type="html">&lt;p&gt;A quick demonstration of lf file manager showing basic navigation using vim-style keybindings.&lt;/p&gt;&#xA;&lt;h2 id=&#34;what-is-shown&#34;&gt;What is Shown &lt;a href=&#34;#what-is-shown&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Launching lf in the sandbox directory&lt;/li&gt;&#xA;&lt;li&gt;Navigating with &lt;code&gt;j/k&lt;/code&gt; (down/up)&lt;/li&gt;&#xA;&lt;li&gt;Entering directories with &lt;code&gt;l&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;Going back with &lt;code&gt;h&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;Jumping to bottom with &lt;code&gt;G&lt;/code&gt; and top with &lt;code&gt;gg&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;Quitting with &lt;code&gt;q&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;key-takeaway&#34;&gt;Key Takeaway &lt;a href=&#34;#key-takeaway&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;lf provides fast, keyboard-driven file navigation without leaving the terminal. The vim-style bindings make it intuitive for anyone familiar with modal editors.&lt;/p&gt;&#xA;&lt;p&gt;&lt;video autoplay loop muted playsinline controls preload=&#34;metadata&#34; class=&#34;md-video&#34;&gt;&lt;source src=&#34;/tapes/lf-intro.mp4&#34; type=&#34;video/mp4&#34;&gt;lf file manager demo&lt;/video&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;related&#34;&gt;Related &lt;a href=&#34;#related&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/lf/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;lf&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;lf - a terminal file manager written in Go&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>lazygit Staging Workflow Demo</title>
    <id>https://dots.waylonwalker.com/lazygit-staging/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/lazygit-staging/" rel="alternate" type="text/html"></link>
    <summary type="text">Demonstration of lazygit staging, committing, and pushing workflow</summary>
    <content type="html">&lt;p&gt;A demonstration of the complete git workflow using lazygit: staging files, writing commits, and pushing changes.&lt;/p&gt;&#xA;&lt;h2 id=&#34;what-is-shown&#34;&gt;What is Shown &lt;a href=&#34;#what-is-shown&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Opening lazygit with modified and new files&lt;/li&gt;&#xA;&lt;li&gt;Navigating the status panel&lt;/li&gt;&#xA;&lt;li&gt;Staging files with Space&lt;/li&gt;&#xA;&lt;li&gt;Creating a commit with c&lt;/li&gt;&#xA;&lt;li&gt;Pushing changes with p&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;key-takeaway&#34;&gt;Key Takeaway &lt;a href=&#34;#key-takeaway&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;lazygit&#39;s visual interface makes git operations intuitive. Stage with Space, commit with c, push with p—all without typing git commands.&lt;/p&gt;&#xA;&lt;p&gt;&lt;video autoplay loop muted playsinline controls preload=&#34;metadata&#34; class=&#34;md-video&#34;&gt;&lt;source src=&#34;/tapes/lazygit-staging.mp4&#34; type=&#34;video/mp4&#34;&gt;lazygit staging demo&lt;/video&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;related&#34;&gt;Related &lt;a href=&#34;#related&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/lazygit/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;Lazygit&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;Lazygit - a simple terminal UI for git commands&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/git/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;Git Configuration&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;Git configuration with aliases, delta for diffs, and work/personal separation&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/gitui/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;gitui&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;gitui - a blazing-fast terminal UI for git&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>lazydocker Container Management Demo</title>
    <id>https://dots.waylonwalker.com/lazydocker-containers/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/lazydocker-containers/" rel="alternate" type="text/html"></link>
    <summary type="text">Demonstration of lazydocker for managing Docker containers</summary>
    <content type="html">&lt;p&gt;A demonstration of using lazydocker to view and manage Docker containers from the terminal.&lt;/p&gt;&#xA;&lt;h2 id=&#34;what-is-shown&#34;&gt;What is Shown &lt;a href=&#34;#what-is-shown&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Opening lazydocker&lt;/li&gt;&#xA;&lt;li&gt;Navigating the container list&lt;/li&gt;&#xA;&lt;li&gt;Viewing container details&lt;/li&gt;&#xA;&lt;li&gt;Checking logs&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;key-takeaway&#34;&gt;Key Takeaway &lt;a href=&#34;#key-takeaway&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;lazydocker provides a complete Docker management interface in the terminal. View containers, images, volumes, and logs without docker commands.&lt;/p&gt;&#xA;&lt;p&gt;&lt;video autoplay loop muted playsinline controls preload=&#34;metadata&#34; class=&#34;md-video&#34;&gt;&lt;source src=&#34;/tapes/lazydocker-containers.mp4&#34; type=&#34;video/mp4&#34;&gt;lazydocker demo&lt;/video&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;related&#34;&gt;Related &lt;a href=&#34;#related&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/tags/lazydocker/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;Posts tagged: lazydocker&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;All posts with the tag &amp;#34;lazydocker&amp;#34;&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>gitui Staging and Commit Demo</title>
    <id>https://dots.waylonwalker.com/gitui-intro/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/gitui-intro/" rel="alternate" type="text/html"></link>
    <summary type="text">Demonstration of gitui staging, committing, and pushing workflow</summary>
    <content type="html">&lt;p&gt;A demonstration of the complete git workflow using gitui: staging files, writing commits, and pushing changes.&lt;/p&gt;&#xA;&lt;h2 id=&#34;what-is-shown&#34;&gt;What is Shown &lt;a href=&#34;#what-is-shown&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Opening gitui in a git repository&lt;/li&gt;&#xA;&lt;li&gt;Staging files with &lt;code&gt;Space&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;Opening commit dialog with &lt;code&gt;c&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;Writing a commit message&lt;/li&gt;&#xA;&lt;li&gt;Submitting with &lt;code&gt;Ctrl+s&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;Pushing with &lt;code&gt;p&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;key-takeaway&#34;&gt;Key Takeaway &lt;a href=&#34;#key-takeaway&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;gitui provides a fast, keyboard-driven interface for common git operations. Stage, commit, and push without typing git commands or using a mouse.&lt;/p&gt;&#xA;&lt;p&gt;&lt;video autoplay loop muted playsinline controls preload=&#34;metadata&#34; class=&#34;md-video&#34;&gt;&lt;source src=&#34;/tapes/gitui-intro.mp4&#34; type=&#34;video/mp4&#34;&gt;gitui staging demo&lt;/video&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;related&#34;&gt;Related &lt;a href=&#34;#related&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/gitui/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;gitui&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;gitui - a blazing-fast terminal UI for git&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/git/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;Git Configuration&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;Git configuration with aliases, delta for diffs, and work/personal separation&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>fzf History Search Demo</title>
    <id>https://dots.waylonwalker.com/fzf-history-search/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/fzf-history-search/" rel="alternate" type="text/html"></link>
    <summary type="text">Demonstration of fzf history search with Ctrl+R and atuin integration</summary>
    <content type="html">&lt;p&gt;A demonstration of using fzf (with atuin) to search command history using Ctrl+R.&lt;/p&gt;&#xA;&lt;h2 id=&#34;what-is-shown&#34;&gt;What is Shown &lt;a href=&#34;#what-is-shown&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Opening history search with Ctrl+R&lt;/li&gt;&#xA;&lt;li&gt;Typing to filter previous commands&lt;/li&gt;&#xA;&lt;li&gt;Navigating results with arrow keys&lt;/li&gt;&#xA;&lt;li&gt;Selecting and executing a previous command&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;key-takeaway&#34;&gt;Key Takeaway &lt;a href=&#34;#key-takeaway&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;History search eliminates retyping. Find any previous command instantly with fuzzy matching.&lt;/p&gt;&#xA;&lt;p&gt;&lt;video autoplay loop muted playsinline controls preload=&#34;metadata&#34; class=&#34;md-video&#34;&gt;&lt;source src=&#34;/tapes/fzf-history-search.mp4&#34; type=&#34;video/mp4&#34;&gt;fzf history search demo&lt;/video&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;related&#34;&gt;Related &lt;a href=&#34;#related&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/fzf/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;fzf&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;fzf - a command-line fuzzy finder&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/atuin/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;Atuin&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;Atuin - a magical shell history with sync&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/zsh/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;zsh Configuration&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;zsh shell configuration - my primary shell with autosuggestions, syntax highlighting, and custom functions&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>fzf File Finding Demo</title>
    <id>https://dots.waylonwalker.com/fzf-file-finding/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/fzf-file-finding/" rel="alternate" type="text/html"></link>
    <summary type="text">Demonstration of fzf file finding with Ctrl+T integration</summary>
    <content type="html">&lt;p&gt;A demonstration of using fzf to quickly find and select files with fuzzy matching and Ctrl+T integration.&lt;/p&gt;&#xA;&lt;h2 id=&#34;what-is-shown&#34;&gt;What is Shown &lt;a href=&#34;#what-is-shown&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Opening fzf with Ctrl+T&lt;/li&gt;&#xA;&lt;li&gt;Typing to fuzzy filter results&lt;/li&gt;&#xA;&lt;li&gt;Selecting a file from the filtered list&lt;/li&gt;&#xA;&lt;li&gt;The file path is inserted into the command line&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;key-takeaway&#34;&gt;Key Takeaway &lt;a href=&#34;#key-takeaway&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;fzf&#39;s fuzzy finding makes locating files effortless. Type partial names, see results instantly, select with Enter.&lt;/p&gt;&#xA;&lt;p&gt;&lt;video autoplay loop muted playsinline controls preload=&#34;metadata&#34; class=&#34;md-video&#34;&gt;&lt;source src=&#34;/tapes/fzf-file-finding.mp4&#34; type=&#34;video/mp4&#34;&gt;fzf file finding demo&lt;/video&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;related&#34;&gt;Related &lt;a href=&#34;#related&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/fzf/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;fzf&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;fzf - a command-line fuzzy finder&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/zsh/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;zsh Configuration&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;zsh shell configuration - my primary shell with autosuggestions, syntax highlighting, and custom functions&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Starship Prompt</title>
    <id>https://dots.waylonwalker.com/starship/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/starship/" rel="alternate" type="text/html"></link>
    <summary type="text">Starship - minimal, fast, and customizable shell prompt</summary>
    <content type="html">&lt;p&gt;&lt;a href=&#34;https://starship.rs/&#34;&gt;Starship&lt;/a&gt; is a minimal, fast, and customizable prompt&#xA;for any shell. It provides useful context at a glance without cluttering your&#xA;terminal.&lt;/p&gt;&#xA;&lt;h2 id=&#34;features&#34;&gt;Features &lt;a href=&#34;#features&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Fast&lt;/strong&gt; - Written in Rust, renders in milliseconds&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Cross-shell&lt;/strong&gt; - Works with zsh, bash, fish, and more&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Informative&lt;/strong&gt; - Git status, tool versions, execution time&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Customizable&lt;/strong&gt; - Extensive configuration options&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;setup&#34;&gt;Setup &lt;a href=&#34;#setup&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;installation&#34;&gt;Installation &lt;a href=&#34;#installation&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;Via mise (recommended):&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mise install starship&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Or direct install:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl -sS https://starship.rs/install.sh &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; sh&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;shell-integration&#34;&gt;Shell Integration &lt;a href=&#34;#shell-integration&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;Add to &lt;code&gt;~/.zshrc&lt;/code&gt;:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;eval&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;starship init zsh&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;configuration&#34;&gt;Configuration &lt;a href=&#34;#configuration&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Config file: &lt;code&gt;~/.config/starship.toml&lt;/code&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;minimal-setup&#34;&gt;Minimal Setup &lt;a href=&#34;#minimal-setup&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# Don&amp;#39;t print a new line at the start of the prompt&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;add_newline&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;false&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# Replace the &amp;#34;❯&amp;#34; symbol in the prompt with &amp;#34;➜&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;character&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;success_symbol&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;[➜](bold green)&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;error_symbol&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;[✗](bold red)&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;git-status&#34;&gt;Git Status &lt;a href=&#34;#git-status&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;Show detailed git information:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;git_status&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;conflicted&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;🏳&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;ahead&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;🏎💨&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;behind&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;😰&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;diverged&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;😵&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;up_to_date&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;✓&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;untracked&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;🤷&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;stashed&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;📦&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;modified&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;📝&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;staged&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;[++\($count\)](green)&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;renamed&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;👅&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;deleted&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;🗑&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;tool-versions&#34;&gt;Tool Versions &lt;a href=&#34;#tool-versions&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;Show active tool versions:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;nodejs&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;format&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;via [🤖 $version](bold green) &amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;python&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;format&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;via [🐍 $version](bold blue) &amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;rust&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;format&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;via [🦀 $version](bold red) &amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;golang&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;format&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;via [🐹 $version](bold cyan) &amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;directory&#34;&gt;Directory &lt;a href=&#34;#directory&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;Customize how directories are displayed:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;directory&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;truncation_length&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;truncate_to_repo&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;command-duration&#34;&gt;Command Duration &lt;a href=&#34;#command-duration&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;Show how long the last command took:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;cmd_duration&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;min_time&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;500&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;format&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;took [$duration](bold yellow)&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;modules&#34;&gt;Modules &lt;a href=&#34;#modules&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Starship supports many modules out of the box:&lt;/p&gt;&#xA;&lt;h3 id=&#34;development&#34;&gt;Development &lt;a href=&#34;#development&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;git_branch&lt;/strong&gt; - Current git branch&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;git_commit&lt;/strong&gt; - Current git commit&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;git_state&lt;/strong&gt; - Rebase/merge/cherry-pick state&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;git_status&lt;/strong&gt; - Working tree status&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;package&lt;/strong&gt; - Package version from package.json, Cargo.toml, etc.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;languages&#34;&gt;Languages &lt;a href=&#34;#languages&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;nodejs&lt;/strong&gt; - Node.js version&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;python&lt;/strong&gt; - Python version and virtualenv&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;rust&lt;/strong&gt; - Rust version&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;golang&lt;/strong&gt; - Go version&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;ruby&lt;/strong&gt; - Ruby version&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;lua&lt;/strong&gt; - Lua version&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;system&#34;&gt;System &lt;a href=&#34;#system&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;directory&lt;/strong&gt; - Current directory&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;hostname&lt;/strong&gt; - System hostname&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;username&lt;/strong&gt; - Current user&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;time&lt;/strong&gt; - Current time&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;battery&lt;/strong&gt; - Battery percentage&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;memory_usage&lt;/strong&gt; - RAM usage&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;tools&#34;&gt;Tools &lt;a href=&#34;#tools&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;aws&lt;/strong&gt; - AWS profile&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;gcloud&lt;/strong&gt; - Google Cloud region&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;kubernetes&lt;/strong&gt; - Current k8s context&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;terraform&lt;/strong&gt; - Terraform workspace&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;conditional-formatting&#34;&gt;Conditional Formatting &lt;a href=&#34;#conditional-formatting&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Show modules only in certain contexts:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;nodejs&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;detect_extensions&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;js&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;mjs&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;cjs&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;ts&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;detect_files&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;package.json&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;.node-version&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;detect_folders&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;node_modules&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;performance&#34;&gt;Performance &lt;a href=&#34;#performance&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Starship is designed to be fast, but you can optimize further:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# Disable unused modules&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;fill&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;disabled&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;line_break&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;disabled&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# Reduce git status checks&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;git_status&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;disabled&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;false&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;ahead&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;⇡${count}&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;diverged&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;⇕⇡${ahead_count}⇣${behind_count}&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;behind&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;⇣${count}&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;transient-prompt&#34;&gt;Transient Prompt &lt;a href=&#34;#transient-prompt&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Keep previous prompts minimal:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;character&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;success_symbol&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;[❯](bold green)&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;error_symbol&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;[❯](bold red)&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# This requires shell-specific config&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;For zsh, add to &lt;code&gt;~/.zshrc&lt;/code&gt;:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Transient prompt&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;setopt transient_rprompt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;troubleshooting&#34;&gt;Troubleshooting &lt;a href=&#34;#troubleshooting&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;prompt-not-showing&#34;&gt;Prompt not showing &lt;a href=&#34;#prompt-not-showing&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Check starship is in PATH: &lt;code&gt;which starship&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;Verify init command is in shell config&lt;/li&gt;&#xA;&lt;li&gt;Restart shell: &lt;code&gt;exec zsh&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h3 id=&#34;slow-prompt&#34;&gt;Slow prompt &lt;a href=&#34;#slow-prompt&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;Profile with: &lt;code&gt;STARSHIP_LOG=trace starship prompt&lt;/code&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;see-also&#34;&gt;See Also &lt;a href=&#34;#see-also&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;div class=&#34;embed-card embed-card-external&#34;&gt;&#xA;  &lt;a href=&#34;https://starship.rs/config/&#34; class=&#34;embed-card-link&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-image&#34;&gt;&#xA;      &lt;img src=&#34;https://starship.rs/icon.png&#34; alt=&#34;&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;Starship: Cross-Shell Prompt&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;Starship is the minimal, blazing fast, and extremely customizable prompt for any shell! Shows the information you need, while staying sleek and minimal. Quick installation available for Bash, Fish,...&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;starship.rs&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/zsh/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;zsh Configuration&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;zsh shell configuration - my primary shell with autosuggestions, syntax highlighting, and custom functions&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card embed-card-external&#34;&gt;&#xA;  &lt;a href=&#34;https://starship.rs/presets/&#34; class=&#34;embed-card-link&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-image&#34;&gt;&#xA;      &lt;img src=&#34;https://starship.rs/icon.png&#34; alt=&#34;&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;Starship: Cross-Shell Prompt&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;Starship is the minimal, blazing fast, and extremely customizable prompt for any shell! Shows the information you need, while staying sleek and minimal. Quick installation available for Bash, Fish,...&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;starship.rs&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Polybar</title>
    <id>https://dots.waylonwalker.com/polybar/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/polybar/" rel="alternate" type="text/html"></link>
    <summary type="text">Polybar - a fast and easy-to-use status bar for X11</summary>
    <content type="html">&lt;p&gt;Polybar is a fast and easy-to-use status bar for X11 window managers.&lt;/p&gt;&#xA;&lt;h2 id=&#34;features&#34;&gt;Features &lt;a href=&#34;#features&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Lightweight&lt;/strong&gt; - Minimal resource usage&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Modular&lt;/strong&gt; - Enable only what you need&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Themable&lt;/strong&gt; - Extensive customization options&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Multi-monitor&lt;/strong&gt; - Support for multiple displays&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Font icons&lt;/strong&gt; - Support for Nerd Fonts and icons&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;setup&#34;&gt;Setup &lt;a href=&#34;#setup&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Install via package manager:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Ubuntu/Debian&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt install polybar&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Arch Linux&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo pacman -S polybar&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Fedora&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo dnf install polybar&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Build from source&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# See GitHub releases for latest version&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;configuration&#34;&gt;Configuration &lt;a href=&#34;#configuration&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Config file: &lt;code&gt;~/.config/polybar/config.ini&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;Structure:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;[bar/main]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;na&#34;&gt;width&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;100%&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;na&#34;&gt;height&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;24&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;na&#34;&gt;background&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;#1e1e2e&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;na&#34;&gt;foreground&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;#cdd6f4&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;na&#34;&gt;font-0&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;JetBrains Mono:size=10;2&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;na&#34;&gt;font-1&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;Font Awesome 6 Free:size=10;2&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;na&#34;&gt;modules-left&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;bspwm xwindow&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;na&#34;&gt;modules-center&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;date&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;na&#34;&gt;modules-right&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;volume network battery&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;[module/date]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;na&#34;&gt;type&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;internal/date&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;na&#34;&gt;interval&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;na&#34;&gt;date&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;%Y-%m-%d&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;na&#34;&gt;time&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;%H:%M&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;na&#34;&gt;label&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;%date% %time%&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;[module/volume]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;na&#34;&gt;type&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;internal/pulseaudio&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;na&#34;&gt;label-volume&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;VOL %percentage%%&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;launching&#34;&gt;Launching &lt;a href=&#34;#launching&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Add to your window manager startup:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Kill existing&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;killall -q polybar&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Launch&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;polybar main &lt;span class=&#34;p&#34;&gt;&amp;amp;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;common-modules&#34;&gt;Common Modules &lt;a href=&#34;#common-modules&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;i3&lt;/strong&gt; - i3 workspace integration&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;bspwm&lt;/strong&gt; - BSPWM workspace integration&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;xwindow&lt;/strong&gt; - Active window title&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;xworkspaces&lt;/strong&gt; - EWMH workspace support&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;date&lt;/strong&gt; - Clock and calendar&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;alsa&lt;/strong&gt; / &lt;strong&gt;pulseaudio&lt;/strong&gt; - Volume control&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;battery&lt;/strong&gt; - Battery status&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;cpu&lt;/strong&gt; - CPU usage&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;memory&lt;/strong&gt; - RAM usage&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;network&lt;/strong&gt; - Network status&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;temperature&lt;/strong&gt; - System temperature&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;custom-script-module&#34;&gt;Custom Script Module &lt;a href=&#34;#custom-script-module&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;[module/custom-script]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;na&#34;&gt;type&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;custom/script&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;na&#34;&gt;exec&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;~/.config/polybar/scripts/custom.sh&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;na&#34;&gt;interval&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;5&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;na&#34;&gt;label&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;%output%&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;see-also&#34;&gt;See Also &lt;a href=&#34;#see-also&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/awesome/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;Awesome Window Manager&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;Awesome WM - a highly configurable X11 window manager&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/waybar/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;Waybar&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;Waybar - a highly customizable Wayland bar&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card embed-card-external&#34;&gt;&#xA;  &lt;a href=&#34;https://github.com/polybar/polybar&#34; class=&#34;embed-card-link&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-image&#34;&gt;&#xA;      &lt;img src=&#34;https://opengraph.githubassets.com/8279456c4727fd40b640f9a3531e8ad2416da1bf633589302f6bfb6d3e13f4fc/polybar/polybar&#34; alt=&#34;&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;GitHub - polybar/polybar: A fast and easy-to-use status bar&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;A fast and easy-to-use status bar. Contribute to polybar/polybar development by creating an account on GitHub.&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;GitHub &amp;middot; github.com&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Nope</title>
    <id>https://dots.waylonwalker.com/nope/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/nope/" rel="alternate" type="text/html"></link>
    <summary type="text">Things I avoid and do not recommend</summary>
    <content type="html">&lt;p&gt;Things I avoid, do not use, or actively recommend against.&lt;/p&gt;&#xA;&lt;p&gt;This is not about bashing tools that work for others - these are things that do not work for &lt;em&gt;me&lt;/em&gt; and my workflows.&lt;/p&gt;&#xA;&lt;h2 id=&#34;software-i-avoid&#34;&gt;Software I Avoid &lt;a href=&#34;#software-i-avoid&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;ides&#34;&gt;IDEs &lt;a href=&#34;#ides&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;VS Code&lt;/strong&gt; - Resource-heavy for what I need. I prefer Neovim&#39;s speed and efficiency.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;JetBrains products&lt;/strong&gt; - Overkill for my use cases and too resource-intensive.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Why: I spend most of my time in a terminal. Heavy IDEs feel sluggish and get in my way.&lt;/p&gt;&#xA;&lt;h3 id=&#34;window-managers&#34;&gt;Window Managers &lt;a href=&#34;#window-managers&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;GNOME&lt;/strong&gt; - Too much mouse interaction, not keyboard-friendly enough for my workflow.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;i3&lt;/strong&gt; (personally) - Used it for years, but prefer Hyprland&#39;s Wayland-native approach now.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Note: I actually like KDE, but my primary requirement for any window manager is robust workspace management with hotkeys. I need win+num to switch, win+shift+num to send apps, and win+ctrl+num to join workspaces. I enjoy tiling but have no strong preference between tiling and floating - both work fine with a good workspace manager that lets me reach any app in one keystroke.&lt;/p&gt;&#xA;&lt;h3 id=&#34;development-tools&#34;&gt;Development Tools &lt;a href=&#34;#development-tools&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;nvm/rbenv/pyenv separately&lt;/strong&gt; - Use &lt;a href=&#34;/mise/&#34; class=&#34;wikilink&#34; data-title=&#34;mise Tool Management&#34; data-description=&#34;mise - the universal version manager for development tools&#34; data-date=&#34;2026-02-07&#34;&gt;mise Tool Management&lt;/a&gt; instead. One tool instead of many.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Docker Desktop&lt;/strong&gt; - Bloated. Use podman or docker CLI directly.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;python-dependency-management&#34;&gt;Python Dependency Management &lt;a href=&#34;#python-dependency-management&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;After years using pip-tools, hatch, and conda, I&#39;ve been &lt;strong&gt;uv pilled&lt;/strong&gt;. I now avoid:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Poetry&lt;/strong&gt; - Overly complex for my needs&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Hatch&lt;/strong&gt; - Used it for years, but uv is simpler&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;pip-tools&lt;/strong&gt; - Used it for years, uv replaces it completely&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;virtualenv&lt;/strong&gt; - uv handles environments&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;conda&lt;/strong&gt; - Used it for years, uv + pyproject.toml is cleaner&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;flit&lt;/strong&gt; - Unnecessary with uv&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;What I use instead:&lt;/strong&gt; [[uv]] - Fast, simple, and handles everything I need.&lt;/p&gt;&#xA;&lt;h3 id=&#34;javascript-development&#34;&gt;JavaScript Development &lt;a href=&#34;#javascript-development&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;I avoid JavaScript frameworks with heavy build pipelines and deep node_modules trees. I prefer:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Vanilla JavaScript&lt;/strong&gt; - No build step, no dependencies&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;CDN libraries&lt;/strong&gt; - Add what you need via script tag&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Simple tools&lt;/strong&gt; - Avoid webpack, complex bundlers, and deep dependency chains&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;practices-i-avoid&#34;&gt;Practices I Avoid &lt;a href=&#34;#practices-i-avoid&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Mouse-heavy workflows&lt;/strong&gt; - Slows me down, causes wrist strain&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Clicking through GUIs&lt;/strong&gt; - Prefer keyboard shortcuts and CLI&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Manual, repetitive tasks&lt;/strong&gt; - Automate or script everything&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Keeping everything in my head&lt;/strong&gt; - Document in version control&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Heavy build pipelines&lt;/strong&gt; - Prefer simplicity over complexity&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;business-models&#34;&gt;Business Models &lt;a href=&#34;#business-models&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Subscription fatigue&lt;/strong&gt; - Prefer perpetual licenses or open source&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Vendor lock-in&lt;/strong&gt; - Prefer tools with open standards and export options&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Cloud-only dependencies&lt;/strong&gt; - Keep local-first options available&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;counter-arguments-i-accept&#34;&gt;Counter-Arguments I Accept &lt;a href=&#34;#counter-arguments-i-accept&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;These tools work great for others:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;VS Code has excellent debugging support&lt;/li&gt;&#xA;&lt;li&gt;IDEs provide discoverability for new developers&lt;/li&gt;&#xA;&lt;li&gt;GUI tools can be more approachable&lt;/li&gt;&#xA;&lt;li&gt;Complex build pipelines enable powerful optimizations&lt;/li&gt;&#xA;&lt;li&gt;Poetry and conda solve real problems for many teams&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Use what works for you. These are my preferences, not universal truths.&lt;/p&gt;&#xA;&lt;p&gt;See &lt;a href=&#34;/yep/&#34; class=&#34;wikilink&#34; data-title=&#34;Yep&#34; data-description=&#34;Things I endorse and recommend&#34; data-date=&#34;2026-02-07&#34;&gt;Yep&lt;/a&gt; for things I do recommend.&lt;/p&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Next</title>
    <id>https://dots.waylonwalker.com/next/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/next/" rel="alternate" type="text/html"></link>
    <summary type="text">Upcoming content and improvements for the site</summary>
    <content type="html">&lt;p&gt;Upcoming content, improvements, and ideas for this documentation site.&lt;/p&gt;&#xA;&lt;h2 id=&#34;guides--how-to&#34;&gt;Guides &amp;amp; How-To &lt;a href=&#34;#guides--how-to&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;strong&gt;Installation/bootstrap guide&lt;/strong&gt; - Complete step-by-step fresh machine setup&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;strong&gt;Migration guide&lt;/strong&gt; - Moving from other tools (VS Code → Neovim, etc.)&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;strong&gt;Sync strategy&lt;/strong&gt; - How dotfiles stay synchronized across machines&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;strong&gt;Backup &amp;amp; restore&lt;/strong&gt; - Disaster recovery for the environment&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;strong&gt;Per-machine configs&lt;/strong&gt; - Laptop vs desktop differences&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;strong&gt;Troubleshooting&lt;/strong&gt; - Common issues and fixes with solutions&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;quick-reference-pages-potential-additions&#34;&gt;Quick Reference Pages (Potential Additions) &lt;a href=&#34;#quick-reference-pages-potential-additions&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;strong&gt;mise recipes&lt;/strong&gt; - Common mise tool configurations&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;strong&gt;neovim recipes&lt;/strong&gt; - Language-specific neovim setups&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;strong&gt;tmux layouts&lt;/strong&gt; - Project-specific session layouts&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;strong&gt;git workflows&lt;/strong&gt; - Team-specific git process documentation&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;deep-dives&#34;&gt;Deep Dives &lt;a href=&#34;#deep-dives&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;strong&gt;Workflow documentation&lt;/strong&gt; - &amp;quot;How I work&amp;quot; series&#xA;&lt;ul&gt;&#xA;&lt;li&gt;TDD workflow&lt;/li&gt;&#xA;&lt;li&gt;Debugging workflow&lt;/li&gt;&#xA;&lt;li&gt;Code review process&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;strong&gt;Plugin deep dives&lt;/strong&gt; - Specific neovim plugins explained&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;strong&gt;Script explanations&lt;/strong&gt; - Custom scripts in detail&#xA;&lt;ul&gt;&#xA;&lt;li&gt;workspace.py&lt;/li&gt;&#xA;&lt;li&gt;web2app function&lt;/li&gt;&#xA;&lt;li&gt;kube-check script&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;metacontext&#34;&gt;Meta/Context &lt;a href=&#34;#metacontext&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;strong&gt;Tool comparison&lt;/strong&gt; - Detailed comparisons (Why X over Y) → [[tool-comparison]]&lt;/li&gt;&#xA;&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;strong&gt;Evolution&lt;/strong&gt; - How the setup has changed over 10+ years → [[evolution]]&lt;/li&gt;&#xA;&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;strong&gt;Philosophy&lt;/strong&gt; - Deeper dive into the &amp;quot;why&amp;quot; behind choices → [[philosophy]]&lt;/li&gt;&#xA;&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;strong&gt;Hardware&lt;/strong&gt; - Detailed workstation specs → [[hardware]]&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;interactivereference&#34;&gt;Interactive/Reference &lt;a href=&#34;#interactivereference&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;strong&gt;Cheatsheets&lt;/strong&gt; - Quick reference cards for common operations → &lt;a href=&#34;/cheatsheets/&#34; class=&#34;wikilink&#34; data-title=&#34;Cheatsheets&#34; data-description=&#34;Quick reference cards for common operations and keybindings&#34; data-date=&#34;2026-02-08&#34;&gt;Cheatsheets&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;improvements&#34;&gt;Improvements &lt;a href=&#34;#improvements&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Add wikilink support to zellij page (it&#39;s missing the embeds) → &lt;a href=&#34;/zellij/&#34; class=&#34;wikilink&#34; data-title=&#34;Zellij&#34; data-description=&#34;Zellij - a terminal workspace with batteries included&#34; data-date=&#34;2026-02-07&#34;&gt;Zellij&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Create uv.md page (referenced in yep.md but missing) → [[uv]]&lt;/li&gt;&#xA;&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Add more external embeds to tool pages&lt;/li&gt;&#xA;&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;strong&gt;VHS recordings for key workflows&lt;/strong&gt; - Designed 12 tape posts with markdown frontmatter&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;vhs-recording-infrastructure&#34;&gt;VHS Recording Infrastructure &lt;a href=&#34;#vhs-recording-infrastructure&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;Each VHS tape now has its own markdown post in &lt;code&gt;pages/tapes/&lt;/code&gt; with:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Frontmatter including &lt;code&gt;template: image&lt;/code&gt; and &lt;code&gt;image: /tapes/filename.mp4&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;Description of what is shown&lt;/li&gt;&#xA;&lt;li&gt;Key takeaway&lt;/li&gt;&#xA;&lt;li&gt;Related tool embeds&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;Tape Posts Created:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; lf-intro.md - Basic file manager navigation&lt;/li&gt;&#xA;&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; lf-tmux-popup.md - Popup integration workflow&lt;/li&gt;&#xA;&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; gitui-intro.md - Staging and committing&lt;/li&gt;&#xA;&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; tmux-scratch-session.md - Alt+G scratch pad workflow&lt;/li&gt;&#xA;&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; tmux-session-switching.md - Session management&lt;/li&gt;&#xA;&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; tmux-git-project-session.md - Project-specific sessions&lt;/li&gt;&#xA;&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; fzf-file-finding.md - Ctrl+T fuzzy finding&lt;/li&gt;&#xA;&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; fzf-history-search.md - Ctrl+R history search&lt;/li&gt;&#xA;&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; lazygit-staging.md - Alternative git UI workflow&lt;/li&gt;&#xA;&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; lazydocker-containers.md - Docker management&lt;/li&gt;&#xA;&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; neovim-telescope.md - File finding in editor&lt;/li&gt;&#xA;&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; neovim-lsp-go-to-definition.md - Code navigation&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;Still to Record:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Record actual mp4 files for all designed tapes&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; tmux &amp;quot;day in the terminal&amp;quot; workflow demo&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Workspace management script demo&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Kubernetes workflow with k9s&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;Sandbox Setup:&lt;/strong&gt;&#xA;All VHS recordings use the &lt;code&gt;vhs/sandbox/&lt;/code&gt; directory for safety. See AGENTS.md for sandbox best practices.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Workflow Demos (20-30 seconds)&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&amp;quot;A day in the terminal&amp;quot; - tmux session → neovim → gitui → back&lt;/li&gt;&#xA;&lt;li&gt;Workspace management - Using workspace script to switch projects&lt;/li&gt;&#xA;&lt;li&gt;Git workflow - Branch, edit, stage, commit with gitui&lt;/li&gt;&#xA;&lt;li&gt;File exploration - fzf + lf + bat pipeline&lt;/li&gt;&#xA;&lt;li&gt;Kubernetes workflow - k9s to inspect, edit, apply&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;Setup Guides (30-45 seconds)&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Fresh machine bootstrap - mise install → stow configs → verify&lt;/li&gt;&#xA;&lt;li&gt;Adding a new tool - Update mise config → install → verify → commit&lt;/li&gt;&#xA;&lt;li&gt;Creating a workspace - ~/git/workspaces/workspaces.py create workflow&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;Configuration Highlights (15-20 seconds)&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Starship prompt customization - Show git status, tool versions&lt;/li&gt;&#xA;&lt;li&gt;tmux keybinding demo - Prefix key, splits, popups&lt;/li&gt;&#xA;&lt;li&gt;Neovim plugin showcase - Telescope file finding, LSP features&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;Comparison Videos&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&amp;quot;Before/After&amp;quot; - Mouse-heavy workflow vs keyboard-driven&lt;/li&gt;&#xA;&lt;li&gt;IDE vs Terminal - Same task in VS Code vs neovim+tmux&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;Tape Organization&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;vhs/&#xA;├── tools/&#xA;│   ├── tmux-intro.tape&#xA;│   ├── fzf-demo.tape&#xA;│   └── lazygit-workflow.tape&#xA;├── workflows/&#xA;│   ├── git-workflow.tape&#xA;│   ├── dev-session.tape&#xA;│   └── workspace-switching.tape&#xA;└── guides/&#xA;    ├── bootstrap.tape&#xA;    └── new-tool-setup.tape&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;&lt;strong&gt;Integration with Docs&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Embed videos in tool pages after the &amp;quot;Features&amp;quot; section&lt;/li&gt;&#xA;&lt;li&gt;Use as hero videos on index pages&lt;/li&gt;&#xA;&lt;li&gt;Link to full recordings from quickstart guides&lt;/li&gt;&#xA;&lt;li&gt;Create GIF fallbacks for mobile/low-bandwidth&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Dark/light theme toggle&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;content-ideas&#34;&gt;Content Ideas &lt;a href=&#34;#content-ideas&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;still-to-create&#34;&gt;Still To Create &lt;a href=&#34;#still-to-create&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;ricing&lt;/strong&gt; - Aesthetic customization beyond function&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;one-shot-apps&lt;/strong&gt; - Documentation for the one-shot-apps directory&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;ansible&lt;/strong&gt; - Infrastructure as code for machine setup&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;distrobox&lt;/strong&gt; - Container-based development environments&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;qutebrowser&lt;/strong&gt; - Keyboard-driven web browser config&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;k9s&lt;/strong&gt; - Kubernetes terminal UI&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;recently-completed-not-previously-listed&#34;&gt;Recently Completed (Not Previously Listed) &lt;a href=&#34;#recently-completed-not-previously-listed&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;hyprland&lt;/strong&gt; - Wayland tiling compositor configuration → &lt;a href=&#34;/hyprland/&#34; class=&#34;wikilink&#34; data-title=&#34;Hyprland Window Manager&#34; data-description=&#34;Hyprland - a dynamic tiling Wayland compositor&#34; data-date=&#34;2026-02-07&#34;&gt;Hyprland Window Manager&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;helix&lt;/strong&gt; - Modern modal text editor → &lt;a href=&#34;/helix/&#34; class=&#34;wikilink&#34; data-title=&#34;Helix Editor&#34; data-description=&#34;Helix - a post-modern modal text editor&#34; data-date=&#34;2026-02-07&#34;&gt;Helix Editor&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;awesome&lt;/strong&gt; - X11 tiling window manager → &lt;a href=&#34;/awesome/&#34; class=&#34;wikilink&#34; data-title=&#34;Awesome Window Manager&#34; data-description=&#34;Awesome WM - a highly configurable X11 window manager&#34; data-date=&#34;2026-02-07&#34;&gt;Awesome Window Manager&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;lazygit&lt;/strong&gt; - Git TUI alternative to gitui → &lt;a href=&#34;/lazygit/&#34; class=&#34;wikilink&#34; data-title=&#34;Lazygit&#34; data-description=&#34;Lazygit - a simple terminal UI for git commands&#34; data-date=&#34;2026-02-07&#34;&gt;Lazygit&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;atuin&lt;/strong&gt; - Enhanced shell history with sync → &lt;a href=&#34;/atuin/&#34; class=&#34;wikilink&#34; data-title=&#34;Atuin&#34; data-description=&#34;Atuin - a magical shell history with sync&#34; data-date=&#34;2026-02-07&#34;&gt;Atuin&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;delta&lt;/strong&gt; - Syntax-highlighted git diff viewer → &lt;a href=&#34;/delta/&#34; class=&#34;wikilink&#34; data-title=&#34;Delta&#34; data-description=&#34;Delta - syntax-highlighting pager for git and diff output&#34; data-date=&#34;2026-02-07&#34;&gt;Delta&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;gh&lt;/strong&gt; - GitHub CLI for git operations → &lt;a href=&#34;/gh/&#34; class=&#34;wikilink&#34; data-title=&#34;GitHub CLI&#34; data-description=&#34;GitHub CLI - a command-line tool for GitHub&#34; data-date=&#34;2026-02-07&#34;&gt;GitHub CLI&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;starship&lt;/strong&gt; - Fast, customizable shell prompt → &lt;a href=&#34;/starship/&#34; class=&#34;wikilink&#34; data-title=&#34;Starship Prompt&#34; data-description=&#34;Starship - minimal, fast, and customizable shell prompt&#34; data-date=&#34;2026-02-07&#34;&gt;Starship Prompt&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;kitty&lt;/strong&gt; - GPU-accelerated terminal emulator → &lt;a href=&#34;/kitty/&#34; class=&#34;wikilink&#34; data-title=&#34;kitty Terminal&#34; data-description=&#34;kitty - a fast, feature-rich, GPU-based terminal emulator&#34; data-date=&#34;2026-02-07&#34;&gt;kitty Terminal&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;wezterm&lt;/strong&gt; - Cross-platform terminal emulator → &lt;a href=&#34;/wezterm/&#34; class=&#34;wikilink&#34; data-title=&#34;WezTerm&#34; data-description=&#34;WezTerm - a GPU-accelerated cross-platform terminal emulator&#34; data-date=&#34;2026-02-07&#34;&gt;WezTerm&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;polybar&lt;/strong&gt; - Status bar for X11 window managers → &lt;a href=&#34;/polybar/&#34; class=&#34;wikilink&#34; data-title=&#34;Polybar&#34; data-description=&#34;Polybar - a fast and easy-to-use status bar for X11&#34; data-date=&#34;2026-02-07&#34;&gt;Polybar&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;waybar&lt;/strong&gt; - Status bar for Wayland compositors → &lt;a href=&#34;/waybar/&#34; class=&#34;wikilink&#34; data-title=&#34;Waybar&#34; data-description=&#34;Waybar - a highly customizable Wayland bar&#34; data-date=&#34;2026-02-07&#34;&gt;Waybar&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;yazi&lt;/strong&gt; - Async file manager alternative to lf → &lt;a href=&#34;/yazi/&#34; class=&#34;wikilink&#34; data-title=&#34;Yazi&#34; data-description=&#34;Yazi - a terminal file manager&#34; data-date=&#34;2026-02-07&#34;&gt;Yazi&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;workspace&lt;/strong&gt; - Project management and workspace switching → &lt;a href=&#34;/workspace/&#34; class=&#34;wikilink&#34; data-title=&#34;Workspace Script&#34; data-description=&#34;Workspace script - session management automation for tmux&#34; data-date=&#34;2026-02-07&#34;&gt;Workspace Script&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;defaults&lt;/strong&gt; - Default application and system configurations → &lt;a href=&#34;/defaults/&#34; class=&#34;wikilink&#34; data-title=&#34;Defaults&#34; data-description=&#34;My default choices for tools and technologies&#34; data-date=&#34;2026-02-07&#34;&gt;Defaults&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;&lt;em&gt;This is a living document. Items will be checked off as they&#39;re completed and new ideas will be added.&lt;/em&gt;&lt;/p&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Neovim Configuration</title>
    <id>https://dots.waylonwalker.com/neovim/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/neovim/" rel="alternate" type="text/html"></link>
    <summary type="text">Neovim configuration with lazy.nvim for plugin management</summary>
    <content type="html">&lt;p&gt;Neovim is my primary text editor, configured with a modern setup using&#xA;lazy.nvim for plugin management.&lt;/p&gt;&#xA;&lt;h2 id=&#34;features&#34;&gt;Features &lt;a href=&#34;#features&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;lazy.nvim&lt;/strong&gt; - Fast, modern plugin manager&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;LSP&lt;/strong&gt; - Language Server Protocol for IDE-like features&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Treesitter&lt;/strong&gt; - Better syntax highlighting and parsing&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;fzf/telescope&lt;/strong&gt; - Fuzzy finding for files, buffers, and more&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Git integration&lt;/strong&gt; - Gitsigns, fugitive, and diffview&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;setup&#34;&gt;Setup &lt;a href=&#34;#setup&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;installation&#34;&gt;Installation &lt;a href=&#34;#installation&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;Via mise (recommended):&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mise install neovim&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Or from source/package manager:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Ubuntu/Debian&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt install neovim&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Arch Linux&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo pacman -S neovim&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# macOS&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;brew install neovim&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;configuration-structure&#34;&gt;Configuration Structure &lt;a href=&#34;#configuration-structure&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;pre&gt;&lt;code&gt;nvim/.config/nvim/&#xA;├── init.lua                 # Entry point&#xA;├── lazy-lock.json          # Plugin lockfile&#xA;└── lua/&#xA;    ├── config/&#xA;    │   ├── keymaps.lua     # Key bindings&#xA;    │   ├── options.lua     # Vim options&#xA;    │   └── lazy.lua        # Plugin manager setup&#xA;    └── plugins/            # Individual plugin configs&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;plugin-categories&#34;&gt;Plugin Categories &lt;a href=&#34;#plugin-categories&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;core&#34;&gt;Core &lt;a href=&#34;#core&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;lazy.nvim&lt;/strong&gt; - Plugin manager&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;plenary.nvim&lt;/strong&gt; - Lua utility library&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;nvim-web-devicons&lt;/strong&gt; - File type icons&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;lsp--completion&#34;&gt;LSP &amp;amp; Completion &lt;a href=&#34;#lsp--completion&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;nvim-lspconfig&lt;/strong&gt; - LSP configuration&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;mason.nvim&lt;/strong&gt; - LSP server installer&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;nvim-cmp&lt;/strong&gt; - Completion engine&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;LuaSnip&lt;/strong&gt; - Snippet engine&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;fuzzy-finding&#34;&gt;Fuzzy Finding &lt;a href=&#34;#fuzzy-finding&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;telescope.nvim&lt;/strong&gt; - Fuzzy finder framework&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;telescope-fzf-native&lt;/strong&gt; - Native fzf integration&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;telescope-ui-select&lt;/strong&gt; - UI selection enhancement&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;git&#34;&gt;Git &lt;a href=&#34;#git&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;gitsigns.nvim&lt;/strong&gt; - Git decorations in gutter&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;vim-fugitive&lt;/strong&gt; - Git commands&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;diffview.nvim&lt;/strong&gt; - Enhanced diff viewing&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;ui&#34;&gt;UI &lt;a href=&#34;#ui&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;lualine.nvim&lt;/strong&gt; - Status line&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;bufferline.nvim&lt;/strong&gt; - Tab-like buffer line&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;nvim-tree.lua&lt;/strong&gt; - File explorer&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;which-key.nvim&lt;/strong&gt; - Keybinding helper&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;indent-blankline.nvim&lt;/strong&gt; - Indentation guides&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;editing&#34;&gt;Editing &lt;a href=&#34;#editing&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;nvim-treesitter&lt;/strong&gt; - Syntax tree parser&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;vim-surround&lt;/strong&gt; - Surround text objects&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;vim-commentary&lt;/strong&gt; - Comment toggling&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;nvim-autopairs&lt;/strong&gt; - Auto-close brackets&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;vim-sleuth&lt;/strong&gt; - Automatic indentation detection&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;themes&#34;&gt;Themes &lt;a href=&#34;#themes&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;tokyonight.nvim&lt;/strong&gt; - Main color scheme&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;key-concepts&#34;&gt;Key Concepts &lt;a href=&#34;#key-concepts&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;lazy-loading&#34;&gt;Lazy Loading &lt;a href=&#34;#lazy-loading&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;Plugins are loaded on demand to improve startup time:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;-- Load only when opening a file&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;nvim-treesitter&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;event&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;BufReadPost&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;-- Load on specific command&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;neo-tree.nvim&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;cmd&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Neotree&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;-- Load on key mapping&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;telescope.nvim&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;keys&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;lt;leader&amp;gt;ff&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;lt;leader&amp;gt;fg&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;lsp-setup&#34;&gt;LSP Setup &lt;a href=&#34;#lsp-setup&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;Language servers are configured via mason and lspconfig:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;require&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;mason&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;).&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;setup&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;require&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;mason-lspconfig&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;).&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;setup&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;({&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;ensure_installed&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;lua_ls&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;rust_analyzer&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;pyright&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;})&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;custom-keymaps&#34;&gt;Custom Keymaps &lt;a href=&#34;#custom-keymaps&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;All keymaps are in &lt;code&gt;lua/config/keymaps.lua&lt;/code&gt;:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;-- Leader key&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;vim.g&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;mapleader&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34; &amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;-- Quick save&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;vim.keymap&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;set&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;n&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;lt;leader&amp;gt;w&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;lt;cmd&amp;gt;w&amp;lt;cr&amp;gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;-- Better window navigation&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;vim.keymap&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;set&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;n&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;lt;C-h&amp;gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;lt;C-w&amp;gt;h&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;vim.keymap&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;set&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;n&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;lt;C-j&amp;gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;lt;C-w&amp;gt;j&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;vim.keymap&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;set&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;n&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;lt;C-k&amp;gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;lt;C-w&amp;gt;k&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;vim.keymap&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;set&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;n&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;lt;C-l&amp;gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;lt;C-w&amp;gt;l&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;daily-workflow&#34;&gt;Daily Workflow &lt;a href=&#34;#daily-workflow&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;file-navigation&#34;&gt;File Navigation &lt;a href=&#34;#file-navigation&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;&amp;lt;leader&amp;gt;ff&lt;/code&gt; - Find files&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;&amp;lt;leader&amp;gt;fg&lt;/code&gt; - Live grep&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;&amp;lt;leader&amp;gt;fb&lt;/code&gt; - Find buffers&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;&amp;lt;leader&amp;gt;fh&lt;/code&gt; - Help tags&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;code-navigation&#34;&gt;Code Navigation &lt;a href=&#34;#code-navigation&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;gd&lt;/code&gt; - Go to definition&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;gr&lt;/code&gt; - Go to references&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;gi&lt;/code&gt; - Go to implementation&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;K&lt;/code&gt; - Hover documentation&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;git-1&#34;&gt;Git &lt;a href=&#34;#git-1&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;]c&lt;/code&gt; / &lt;code&gt;[c&lt;/code&gt; - Next/previous hunk&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;&amp;lt;leader&amp;gt;hs&lt;/code&gt; - Stage hunk&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;&amp;lt;leader&amp;gt;hr&lt;/code&gt; - Reset hunk&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;&amp;lt;leader&amp;gt;hp&lt;/code&gt; - Preview hunk&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;performance-tips&#34;&gt;Performance Tips &lt;a href=&#34;#performance-tips&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;Check startup time&lt;/strong&gt;: &lt;code&gt;nvim --startuptime startup.log&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Profile plugins&lt;/strong&gt;: &lt;code&gt;:Lazy profile&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Disable unused providers&lt;/strong&gt;:&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;vim.g&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;loaded_python3_provider&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;vim.g&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;loaded_ruby_provider&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;vim.g&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;loaded_perl_provider&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;vim.g&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;loaded_node_provider&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;see-also&#34;&gt;See Also &lt;a href=&#34;#see-also&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;div class=&#34;embed-card embed-card-external&#34;&gt;&#xA;  &lt;a href=&#34;https://lazy.folke.io/&#34; class=&#34;embed-card-link&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-image&#34;&gt;&#xA;      &lt;img src=&#34;https://lazy.folke.io/img/docusaurus-social-card.jpg&#34; alt=&#34;&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;🚀 Getting Started | lazy.nvim&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;lazy.nvim is a modern plugin manager for Neovim.&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;lazy.folke.io&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card embed-card-external&#34;&gt;&#xA;  &lt;a href=&#34;https://github.com/neovim/nvim-lspconfig&#34; class=&#34;embed-card-link&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-image&#34;&gt;&#xA;      &lt;img src=&#34;https://opengraph.githubassets.com/d301edf1504d34a463691768935c6a17d8a22c0604814244b6d76a4bec5fbba6/neovim/nvim-lspconfig&#34; alt=&#34;&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;GitHub - neovim/nvim-lspconfig: Quickstart configs for Nvim LSP&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;Quickstart configs for Nvim LSP. Contribute to neovim/nvim-lspconfig development by creating an account on GitHub.&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;GitHub &amp;middot; github.com&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card embed-card-external&#34;&gt;&#xA;  &lt;a href=&#34;https://github.com/nvim-telescope/telescope.nvim&#34; class=&#34;embed-card-link&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-image&#34;&gt;&#xA;      &lt;img src=&#34;https://opengraph.githubassets.com/4b7f15f421a5ab83f0101c41d5aa1bb38e144e81229384d40cc9ff4a2bab8b82/nvim-telescope/telescope.nvim&#34; alt=&#34;&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;GitHub - nvim-telescope/telescope.nvim: Find, Filter, Preview, Pick. All lua, all the time.&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;Find, Filter, Preview, Pick. All lua, all the time. - nvim-telescope/telescope.nvim&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;GitHub &amp;middot; github.com&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/helix/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;Helix Editor&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;Helix - a post-modern modal text editor&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>mise Tool Management</title>
    <id>https://dots.waylonwalker.com/mise/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/mise/" rel="alternate" type="text/html"></link>
    <summary type="text">mise - the universal version manager for development tools</summary>
    <content type="html">&lt;p&gt;&lt;a href=&#34;https://mise.jdx.dev/&#34;&gt;mise&lt;/a&gt; is a universal version manager for development&#xA;tools. It replaces separate version managers (nvm, pyenv, rbenv, etc.) with a&#xA;single tool.&lt;/p&gt;&#xA;&lt;h2 id=&#34;why-mise&#34;&gt;Why mise? &lt;a href=&#34;#why-mise&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;One tool&lt;/strong&gt; - Manage all languages and tools in one place&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Fast&lt;/strong&gt; - Written in Rust, activates in milliseconds&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Compatible&lt;/strong&gt; - Works with asdf plugins&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Project-specific&lt;/strong&gt; - Per-directory tool versions via &lt;code&gt;.tool-versions&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;installation&#34;&gt;Installation &lt;a href=&#34;#installation&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl https://mise.run &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; sh&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Activate in your shell:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;eval &amp;#34;$(~/.local/bin/mise activate zsh)&amp;#34;&amp;#39;&lt;/span&gt; &amp;gt;&amp;gt; ~/.zshrc&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;configuration&#34;&gt;Configuration &lt;a href=&#34;#configuration&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;The main config is at &lt;code&gt;mise/.config/mise/config.toml&lt;/code&gt;:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;settings&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;idiomatic_version_file_enable_tools&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;ruby&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;tools&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;age&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;latest&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;argocd&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;latest&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;atuin&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;latest&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;bitwarden&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;latest&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# ... more tools&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;key-commands&#34;&gt;Key Commands &lt;a href=&#34;#key-commands&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Install all tools from config&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mise install&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Install a specific tool&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mise install node@20&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# List installed tools&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mise list&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Use a specific version in current directory&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mise use node@20&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Run a command with a specific tool version&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mise &lt;span class=&#34;nb&#34;&gt;exec&lt;/span&gt; node@18 -- npm &lt;span class=&#34;nb&#34;&gt;test&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;tools-managed&#34;&gt;Tools Managed &lt;a href=&#34;#tools-managed&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;My setup includes:&lt;/p&gt;&#xA;&lt;h3 id=&#34;development&#34;&gt;Development &lt;a href=&#34;#development&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;neovim&lt;/code&gt; - Text editor&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;node&lt;/code&gt; - JavaScript runtime&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;pnpm&lt;/code&gt; - Package manager&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;uv&lt;/code&gt; - Python package manager&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;kubernetes&#34;&gt;Kubernetes &lt;a href=&#34;#kubernetes&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;kubectl&lt;/code&gt; - Kubernetes CLI&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;helm&lt;/code&gt; - Package manager for K8s&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;k9s&lt;/code&gt; - Terminal UI for K8s&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;argocd&lt;/code&gt; - GitOps tool&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;utilities&#34;&gt;Utilities &lt;a href=&#34;#utilities&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;fzf&lt;/code&gt; - Fuzzy finder&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;ripgrep&lt;/code&gt; - Fast grep alternative&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;fd&lt;/code&gt; - Fast find alternative&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;bat&lt;/code&gt; - Enhanced cat&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;eza&lt;/code&gt; - Modern ls replacement&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;delta&lt;/code&gt; - Syntax-highlighting pager for git&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;difftastic&lt;/code&gt; - Structural diff tool&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;direnv&lt;/code&gt; - Environment variable manager&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;terminal&#34;&gt;Terminal &lt;a href=&#34;#terminal&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;starship&lt;/code&gt; - Shell prompt&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;zellij&lt;/code&gt; - Terminal multiplexer&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;tmux&lt;/code&gt; - Terminal multiplexer&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;lf&lt;/code&gt; - File manager&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;yazi&lt;/code&gt; - Alternative file manager&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;git&#34;&gt;Git &lt;a href=&#34;#git&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;gitui&lt;/code&gt; - Terminal UI for git (primary)&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;lazygit&lt;/code&gt; - Alternative git TUI&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;github-cli&lt;/code&gt; - GitHub CLI&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;ripsecrets&lt;/code&gt; - Secret scanner&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;media&#34;&gt;Media &lt;a href=&#34;#media&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;vhs&lt;/code&gt; - Terminal recording tool&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;project-specific-versions&#34;&gt;Project-Specific Versions &lt;a href=&#34;#project-specific-versions&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Create a &lt;code&gt;.tool-versions&lt;/code&gt; file in project directories:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;nodejs 20.11.0&amp;#34;&lt;/span&gt; &amp;gt; .tool-versions&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;python 3.11&amp;#34;&lt;/span&gt; &amp;gt;&amp;gt; .tool-versions&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;mise will automatically switch to these versions when you enter the directory.&lt;/p&gt;&#xA;&lt;h2 id=&#34;see-also&#34;&gt;See Also &lt;a href=&#34;#see-also&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;div class=&#34;embed-card embed-card-external&#34;&gt;&#xA;  &lt;a href=&#34;https://mise.jdx.dev/&#34; class=&#34;embed-card-link&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;Home | mise-en-place&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;mise-en-place documentation&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;mise.jdx.dev&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card embed-card-external&#34;&gt;&#xA;  &lt;a href=&#34;https://asdf-vm.com/manage/plugins.html&#34; class=&#34;embed-card-link&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;Plugins | asdf&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;Manage multiple runtime versions with a single CLI tool&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;asdf-vm.com&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Links</title>
    <id>https://dots.waylonwalker.com/links/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/links/" rel="alternate" type="text/html"></link>
    <summary type="text">Links to other sites and resources</summary>
    <content type="html">&lt;p&gt;A collection of links to things I find useful or interesting.&lt;/p&gt;&#xA;&lt;h2 id=&#34;my-sites&#34;&gt;My Sites &lt;a href=&#34;#my-sites&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://waylonwalker.com/&#34;&gt;waylonwalker.com&lt;/a&gt; - Personal website and blog&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://devtainer.waylonwalker.com/&#34;&gt;devtainer.waylonwalker.com&lt;/a&gt; - This site (dotfiles documentation)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;projects&#34;&gt;Projects &lt;a href=&#34;#projects&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/waylonwalker/devtainer&#34;&gt;GitHub - waylonwalker/devtainer&lt;/a&gt; - Dotfiles and development container&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;tools-i-recommend&#34;&gt;Tools I Recommend &lt;a href=&#34;#tools-i-recommend&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;See the full documentation for these tools on this site:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/neovim/&#34; class=&#34;wikilink&#34; data-title=&#34;Neovim Configuration&#34; data-description=&#34;Neovim configuration with lazy.nvim for plugin management&#34; data-date=&#34;2026-02-07&#34;&gt;Neovim Configuration&lt;/a&gt; - Editor of choice&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/tmux/&#34; class=&#34;wikilink&#34; data-title=&#34;tmux Configuration&#34; data-description=&#34;tmux configuration for persistent terminal sessions with popup windows and session management&#34; data-date=&#34;2026-02-07&#34;&gt;tmux Configuration&lt;/a&gt; - Terminal multiplexer&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/zsh/&#34; class=&#34;wikilink&#34; data-title=&#34;zsh Configuration&#34; data-description=&#34;zsh shell configuration - my primary shell with autosuggestions, syntax highlighting, and custom functions&#34; data-date=&#34;2026-02-07&#34;&gt;zsh Configuration&lt;/a&gt; - Shell&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/mise/&#34; class=&#34;wikilink&#34; data-title=&#34;mise Tool Management&#34; data-description=&#34;mise - the universal version manager for development tools&#34; data-date=&#34;2026-02-07&#34;&gt;mise Tool Management&lt;/a&gt; - Tool version manager&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;inspiration&#34;&gt;Inspiration &lt;a href=&#34;#inspiration&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Sites that inspired this documentation approach:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://llmstxt.site/&#34;&gt;llmstxt.site&lt;/a&gt; - llms.txt format&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://uses.tech/&#34;&gt;uses.tech&lt;/a&gt; - /uses pages directory&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;friends-and-community&#34;&gt;Friends and Community &lt;a href=&#34;#friends-and-community&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Other developers with documented setups:&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;(Add links as you discover them)&lt;/em&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;slash-pages&#34;&gt;Slash Pages &lt;a href=&#34;#slash-pages&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Inspired by the &lt;a href=&#34;https://uses.tech/&#34;&gt;/uses&lt;/a&gt; and &lt;a href=&#34;https://nownownow.com/&#34;&gt;/now&lt;/a&gt; movements, this site includes several slash pages:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/about/&#34; class=&#34;wikilink&#34; data-title=&#34;About&#34; data-description=&#34;About Waylon Walker and this site&#34; data-date=&#34;2026-02-07&#34;&gt;About&lt;/a&gt; - About me&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/colophon/&#34; class=&#34;wikilink&#34; data-title=&#34;Colophon&#34; data-description=&#34;How this site is built - colophon&#34; data-date=&#34;2026-02-07&#34;&gt;Colophon&lt;/a&gt; - How this site is built&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/ai/&#34; class=&#34;wikilink&#34; data-title=&#34;AI&#34; data-description=&#34;How I use AI tools in my workflow&#34; data-date=&#34;2026-02-07&#34;&gt;AI&lt;/a&gt; - How I use AI&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/uses/&#34; class=&#34;wikilink&#34; data-title=&#34;Uses&#34; data-description=&#34;Hardware and software I use daily&#34; data-date=&#34;2026-02-07&#34;&gt;Uses&lt;/a&gt; - Hardware and software I use&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/defaults/&#34; class=&#34;wikilink&#34; data-title=&#34;Defaults&#34; data-description=&#34;My default choices for tools and technologies&#34; data-date=&#34;2026-02-07&#34;&gt;Defaults&lt;/a&gt; - My default choices&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/yep/&#34; class=&#34;wikilink&#34; data-title=&#34;Yep&#34; data-description=&#34;Things I endorse and recommend&#34; data-date=&#34;2026-02-07&#34;&gt;Yep&lt;/a&gt; - Things I endorse&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/nope/&#34; class=&#34;wikilink&#34; data-title=&#34;Nope&#34; data-description=&#34;Things I avoid and do not recommend&#34; data-date=&#34;2026-02-07&#34;&gt;Nope&lt;/a&gt; - Things I avoid&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>lf</title>
    <id>https://dots.waylonwalker.com/lf/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/lf/" rel="alternate" type="text/html"></link>
    <summary type="text">lf - a terminal file manager written in Go</summary>
    <content type="html">&lt;p&gt;lf is a terminal file manager written in Go, heavily inspired by ranger. It focuses on simplicity and speed with minimal dependencies.&lt;/p&gt;&#xA;&lt;p&gt;&lt;video autoplay loop muted playsinline controls preload=&#34;metadata&#34; class=&#34;md-video&#34;&gt;&lt;source src=&#34;/tapes/lf-intro.mp4&#34; type=&#34;video/mp4&#34;&gt;lf demo&lt;/video&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;features&#34;&gt;Features &lt;a href=&#34;#features&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Fast&lt;/strong&gt; - Written in Go, starts instantly&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Minimal&lt;/strong&gt; - Single binary, no runtime dependencies&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Configurable&lt;/strong&gt; - Shell commands for previews and custom actions&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Mouse support&lt;/strong&gt; - Optional mouse integration&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Server mode&lt;/strong&gt; - Remote file management via client/server&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;setup&#34;&gt;Setup &lt;a href=&#34;#setup&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Install via package manager:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Via mise (recommended)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mise install lf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Arch Linux&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo pacman -S lf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# macOS&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;brew install lf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Go install&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;go install github.com/gokcehan/lf@latest&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;configuration&#34;&gt;Configuration &lt;a href=&#34;#configuration&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Config file: &lt;code&gt;~/.config/lf/lfrc&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;Example configuration:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Basic settings&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;set&lt;/span&gt; preview &lt;span class=&#34;nb&#34;&gt;true&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;set&lt;/span&gt; drawbox &lt;span class=&#34;nb&#34;&gt;true&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;set&lt;/span&gt; hidden &lt;span class=&#34;nb&#34;&gt;true&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;set&lt;/span&gt; ignorecase &lt;span class=&#34;nb&#34;&gt;true&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Key mappings&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;map gh &lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; ~&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;map g/ &lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; /&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;map E &lt;span class=&#34;nv&#34;&gt;$$&lt;/span&gt;EDITOR &lt;span class=&#34;nv&#34;&gt;$f&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Custom commands&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;map D delete&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;map x cut&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;map y copy&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;map p paste&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Previewer&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;set&lt;/span&gt; previewer ~/.config/lf/preview&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;key-bindings&#34;&gt;Key Bindings &lt;a href=&#34;#key-bindings&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;navigation&#34;&gt;Navigation &lt;a href=&#34;#navigation&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;j/k&lt;/code&gt; or &lt;code&gt;↓/↑&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Move down/up&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;h/l&lt;/code&gt; or &lt;code&gt;←/→&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Parent/child directory&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;gg&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Go to top&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;G&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Go to bottom&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;H&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Back in history&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;L&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Forward in history&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;~&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Go to home&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;file-operations&#34;&gt;File Operations &lt;a href=&#34;#file-operations&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Space&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Toggle selection&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;y&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Yank (copy)&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;d&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Cut&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;p&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Paste&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;D&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Delete&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;r&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Rename&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;a&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Create file&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;A&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Create directory&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;E&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Open with $EDITOR&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Enter&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Open file&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;view&#34;&gt;View &lt;a href=&#34;#view&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;.&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Toggle hidden files&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;i&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Toggle preview&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;zh&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Toggle hidden files&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;tmux-integration&#34;&gt;tmux Integration &lt;a href=&#34;#tmux-integration&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;From &lt;code&gt;.tmux.conf&lt;/code&gt;:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;bind&lt;/span&gt; -n M-e display-popup -d &lt;span class=&#34;s1&#34;&gt;&amp;#39;#{pane_current_path}&amp;#39;&lt;/span&gt; -h 100% -w 75% -x &lt;span class=&#34;m&#34;&gt;0&lt;/span&gt; -E &lt;span class=&#34;s2&#34;&gt;&amp;#34;lf&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;This opens lf in a popup window with Alt+E, starting in the current pane&#39;s directory.&lt;/p&gt;&#xA;&lt;p&gt;&lt;video autoplay loop muted playsinline controls preload=&#34;metadata&#34; class=&#34;md-video&#34;&gt;&lt;source src=&#34;/tapes/lf-tmux-popup.mp4&#34; type=&#34;video/mp4&#34;&gt;lf in tmux popup workflow&lt;/video&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;previews&#34;&gt;Previews &lt;a href=&#34;#previews&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;lf uses external programs for previews. Create &lt;code&gt;~/.config/lf/preview&lt;/code&gt;:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cp&#34;&gt;#!/bin/sh&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cp&#34;&gt;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;case&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$1&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt; in&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    *.txt&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;*.md&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; cat &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$1&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    *.jpg&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;*.png&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; viu &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$1&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    *&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; file &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$1&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;esac&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;shell-integration&#34;&gt;Shell Integration &lt;a href=&#34;#shell-integration&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Add to &lt;code&gt;~/.zshrc&lt;/code&gt;:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;lfcd &lt;span class=&#34;o&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;tmp&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;mktemp&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    lf -last-dir-path&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$tmp&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$@&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt; -f &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$tmp&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;then&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nv&#34;&gt;dir&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;cat &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$tmp&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        rm -f &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$tmp&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt; -d &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$dir&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$dir&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt; !&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$PWD&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$dir&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;fi&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Then use &lt;code&gt;lfcd&lt;/code&gt; to launch lf and automatically cd to the last visited directory on exit.&lt;/p&gt;&#xA;&lt;h2 id=&#34;see-also&#34;&gt;See Also &lt;a href=&#34;#see-also&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/yazi/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;Yazi&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;Yazi - a terminal file manager&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/zsh/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;zsh Configuration&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;zsh shell configuration - my primary shell with autosuggestions, syntax highlighting, and custom functions&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card embed-card-external&#34;&gt;&#xA;  &lt;a href=&#34;https://github.com/gokcehan/lf&#34; class=&#34;embed-card-link&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-image&#34;&gt;&#xA;      &lt;img src=&#34;https://opengraph.githubassets.com/4de59f7cdcd52916609773afbb43de08bd4fc1fea2b6863f5af01d1f6c48baaa/gokcehan/lf&#34; alt=&#34;&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;GitHub - gokcehan/lf: Terminal file manager&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;Terminal file manager. Contribute to gokcehan/lf development by creating an account on GitHub.&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;GitHub &amp;middot; github.com&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Lazygit</title>
    <id>https://dots.waylonwalker.com/lazygit/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/lazygit/" rel="alternate" type="text/html"></link>
    <summary type="text">Lazygit - a simple terminal UI for git commands</summary>
    <content type="html">&lt;p&gt;Lazygit is a simple terminal UI for git commands that makes common git operations fast and visual.&lt;/p&gt;&#xA;&lt;h2 id=&#34;features&#34;&gt;Features &lt;a href=&#34;#features&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Visual staging&lt;/strong&gt; - Stage/unstage files with spacebar&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Branch management&lt;/strong&gt; - Create, checkout, merge branches easily&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Conflict resolution&lt;/strong&gt; - Interactive merge conflict handling&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Commit history&lt;/strong&gt; - Browse and search commits&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Stash management&lt;/strong&gt; - View and apply stashes&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Custom commands&lt;/strong&gt; - Add your own keybindings&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;setup&#34;&gt;Setup &lt;a href=&#34;#setup&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Install via package manager:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Ubuntu/Debian&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo add-apt-repository ppa:lazygit-team/release&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt update&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt install lazygit&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Arch Linux&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo pacman -S lazygit&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# macOS&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;brew install lazygit&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Via mise&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mise install lazygit&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;launching&#34;&gt;Launching &lt;a href=&#34;#launching&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;lazygit&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Or from within a git repo:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;lg  &lt;span class=&#34;c1&#34;&gt;# If you have an alias&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;key-bindings&#34;&gt;Key Bindings &lt;a href=&#34;#key-bindings&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;global&#34;&gt;Global &lt;a href=&#34;#global&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;?&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Help&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;q&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Quit&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;1-5&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Switch panel (Status, Files, Local Branches, Commits, Stash)&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;R&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Refresh&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;files-panel&#34;&gt;Files Panel &lt;a href=&#34;#files-panel&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Space&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Stage/unstage&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;d&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Discard changes&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;a&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Stage all&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;A&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Unstage all&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;c&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Commit&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;C&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Commit with editor&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;e&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Edit file&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;branches-panel&#34;&gt;Branches Panel &lt;a href=&#34;#branches-panel&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;c&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Checkout&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;n&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;New branch&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;m&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Merge&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;r&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Rebase&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;d&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Delete&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;commits-panel&#34;&gt;Commits Panel &lt;a href=&#34;#commits-panel&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;s&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Squash&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;r&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Reword&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;d&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Drop&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;e&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Edit&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;p&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Pick&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;custom-commands&#34;&gt;Custom Commands &lt;a href=&#34;#custom-commands&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Add custom commands in &lt;code&gt;~/.config/lazygit/config.yml&lt;/code&gt;:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;customCommands&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;- &lt;span class=&#34;nt&#34;&gt;key&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;f&amp;#39;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;context&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;files&amp;#39;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;description&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;Fixup commit&amp;#39;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;command&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;git commit --fixup {{.SelectedLocalCommit.Sha}}&amp;#39;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;subprocess&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;see-also&#34;&gt;See Also &lt;a href=&#34;#see-also&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/git/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;Git Configuration&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;Git configuration with aliases, delta for diffs, and work/personal separation&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/gitui/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;gitui&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;gitui - a blazing-fast terminal UI for git&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/delta/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;Delta&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;Delta - syntax-highlighting pager for git and diff output&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card embed-card-external&#34;&gt;&#xA;  &lt;a href=&#34;https://github.com/jesseduffield/lazygit&#34; class=&#34;embed-card-link&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-image&#34;&gt;&#xA;      &lt;img src=&#34;https://opengraph.githubassets.com/82349f5c5216b21086c8d33ac2facf9bc67141241711b8812a6a693ea295b93c/jesseduffield/lazygit&#34; alt=&#34;&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;GitHub - jesseduffield/lazygit: simple terminal UI for git commands&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;simple terminal UI for git commands. Contribute to jesseduffield/lazygit development by creating an account on GitHub.&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;GitHub &amp;middot; github.com&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>kitty Terminal</title>
    <id>https://dots.waylonwalker.com/kitty/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/kitty/" rel="alternate" type="text/html"></link>
    <summary type="text">kitty - a fast, feature-rich, GPU-based terminal emulator</summary>
    <content type="html">&lt;p&gt;kitty is a fast, feature-rich, GPU-based terminal emulator that offloads rendering to the GPU for smooth performance.&lt;/p&gt;&#xA;&lt;h2 id=&#34;features&#34;&gt;Features &lt;a href=&#34;#features&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;GPU acceleration&lt;/strong&gt; - Renders text using the GPU for better performance&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Tabs and windows&lt;/strong&gt; - Built-in multiplexing without needing tmux&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Unicode support&lt;/strong&gt; - Excellent support for emojis and international characters&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Image support&lt;/strong&gt; - Display images directly in the terminal&lt;/li&gt;&#xA;&lt;li&gt;** kittens** - Extend functionality with Python scripts&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;setup&#34;&gt;Setup &lt;a href=&#34;#setup&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Install via package manager:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Ubuntu/Debian&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt install kitty&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Arch Linux&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo pacman -S kitty&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# macOS&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;brew install kitty&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Or via mise:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mise install kitty&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;configuration&#34;&gt;Configuration &lt;a href=&#34;#configuration&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Config file: &lt;code&gt;~/.config/kitty/kitty.conf&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;Key settings from my config:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Font&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;font_family      JetBrains Mono&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;font_size        12.0&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Opacity&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;background_opacity 0.95&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Cursor&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cursor_shape     block&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cursor_blink_interval &lt;span class=&#34;m&#34;&gt;0&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Scrollback&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;scrollback_lines &lt;span class=&#34;m&#34;&gt;10000&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;key-bindings&#34;&gt;Key Bindings &lt;a href=&#34;#key-bindings&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+Shift+Enter&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;New window&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+Shift+W&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Close window&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+Shift+]&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Next window&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+Shift+[&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Previous window&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+Shift+T&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;New tab&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+Shift+Q&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Close tab&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+Shift+Right&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Next tab&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+Shift+Left&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Previous tab&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+Shift+Up&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Scroll up&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+Shift+Down&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Scroll down&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+Shift+G&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Show last command output&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+Shift+H&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Browse scrollback in less&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;kittens&#34;&gt;kittens &lt;a href=&#34;#kittens&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;kittens are small Python programs that extend kitty:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# SSH with kitty enhancements&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;kitty +kitten ssh hostname&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Diff files with image support&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;kitty +kitten diff file1 file2&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Transfer files over SSH&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;kitty +kitten transfer file.txt remote:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;integration-with-tmux&#34;&gt;Integration with tmux &lt;a href=&#34;#integration-with-tmux&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;While kitty has its own multiplexing, I often use it with tmux for session persistence:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Start kitty with tmux&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;kitty tmux&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;see-also&#34;&gt;See Also &lt;a href=&#34;#see-also&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/wezterm/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;WezTerm&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;WezTerm - a GPU-accelerated cross-platform terminal emulator&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/tmux/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;tmux Configuration&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;tmux configuration for persistent terminal sessions with popup windows and session management&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card embed-card-external&#34;&gt;&#xA;  &lt;a href=&#34;https://sw.kovidgoyal.net/kitty/&#34; class=&#34;embed-card-link&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-image&#34;&gt;&#xA;      &lt;img src=&#34;https://sw.kovidgoyal.net/kitty/_images/social_previews/summary_index_f767dd9c.png&#34; alt=&#34;&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;kitty&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;If you live in the terminal, kitty is made for YOU! The fast, feature-rich, GPU based terminal emulator. Fast Uses GPU and SIMD vector CPU instructions for best in class performance, Uses threaded ...&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;kitty &amp;middot; sw.kovidgoyal.net&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Window Management - Neovim Keybindings</title>
    <id>https://dots.waylonwalker.com/neovim-window-management/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/neovim-window-management/" rel="alternate" type="text/html"></link>
    <summary type="text">Window Management keybindings for Neovim</summary>
    <content type="html">&lt;p&gt;Split, arrange, and navigate editor windows. Keep multiple files visible and organized.&lt;/p&gt;&#xA;&lt;h2 id=&#34;keybindings&#34;&gt;Keybindings &lt;a href=&#34;#keybindings&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Mode&lt;/th&gt;&#xA;&lt;th&gt;Description&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;/table&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Terminal Operations - Neovim Keybindings</title>
    <id>https://dots.waylonwalker.com/neovim-terminal/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/neovim-terminal/" rel="alternate" type="text/html"></link>
    <summary type="text">Terminal Operations keybindings for Neovim</summary>
    <content type="html">&lt;p&gt;Access your shell without leaving your editor. Run commands and build tools.&lt;/p&gt;&#xA;&lt;h2 id=&#34;keybindings&#34;&gt;Keybindings &lt;a href=&#34;#keybindings&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Mode&lt;/th&gt;&#xA;&lt;th&gt;Description&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;/table&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Workspace Tag Operations - Neovim Keybindings</title>
    <id>https://dots.waylonwalker.com/neovim-tag/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/neovim-tag/" rel="alternate" type="text/html"></link>
    <summary type="text">Workspace Tag Operations keybindings for Neovim</summary>
    <content type="html">&lt;p&gt;Jump between workspace tags and views. Organize windows.&lt;/p&gt;&#xA;&lt;h2 id=&#34;keybindings&#34;&gt;Keybindings &lt;a href=&#34;#keybindings&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Mode&lt;/th&gt;&#xA;&lt;th&gt;Description&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;/table&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Search and Find - Neovim Keybindings</title>
    <id>https://dots.waylonwalker.com/neovim-search/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/neovim-search/" rel="alternate" type="text/html"></link>
    <summary type="text">Search and Find keybindings for Neovim</summary>
    <content type="html">&lt;p&gt;Find anything in your project instantly. Search files, symbols, and text.&lt;/p&gt;&#xA;&lt;h2 id=&#34;keybindings&#34;&gt;Keybindings &lt;a href=&#34;#keybindings&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Mode&lt;/th&gt;&#xA;&lt;th&gt;Description&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;/table&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Other - Neovim Keybindings</title>
    <id>https://dots.waylonwalker.com/neovim-other/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/neovim-other/" rel="alternate" type="text/html"></link>
    <summary type="text">Other keybindings for Neovim</summary>
    <content type="html">&lt;p&gt;Utility commands for productivity enhancements.&lt;/p&gt;&#xA;&lt;h2 id=&#34;keybindings&#34;&gt;Keybindings &lt;a href=&#34;#keybindings&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Mode&lt;/th&gt;&#xA;&lt;th&gt;Description&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;C-U&gt;&lt;/td&gt;&#xA;&lt;td&gt;insert&lt;/td&gt;&#xA;&lt;td&gt;:help i_CTRL-U-default&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;Plug&gt;(fzf-normal)&lt;/td&gt;&#xA;&lt;td&gt;terminal&lt;/td&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;Plug&gt;(fzf-insert)&lt;/td&gt;&#xA;&lt;td&gt;terminal&lt;/td&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;%&lt;/td&gt;&#xA;&lt;td&gt;visual_select&lt;/td&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;@&lt;/td&gt;&#xA;&lt;td&gt;visual_select&lt;/td&gt;&#xA;&lt;td&gt;:help v_@-default&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;Q&lt;/td&gt;&#xA;&lt;td&gt;visual_select&lt;/td&gt;&#xA;&lt;td&gt;:help v_Q-default&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;[%&lt;/td&gt;&#xA;&lt;td&gt;visual_select&lt;/td&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;]%&lt;/td&gt;&#xA;&lt;td&gt;visual_select&lt;/td&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;a%&lt;/td&gt;&#xA;&lt;td&gt;visual_select&lt;/td&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;g%&lt;/td&gt;&#xA;&lt;td&gt;visual_select&lt;/td&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;gx&lt;/td&gt;&#xA;&lt;td&gt;visual_select&lt;/td&gt;&#xA;&lt;td&gt;Opens filepath or URI under cursor with the system handler (file explorer, web browser, …)&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;Plug&gt;(MatchitVisualTextObject)&lt;/td&gt;&#xA;&lt;td&gt;visual_select&lt;/td&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;Plug&gt;(MatchitVisualMultiForward)&lt;/td&gt;&#xA;&lt;td&gt;visual_select&lt;/td&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;Plug&gt;(MatchitVisualMultiBackward)&lt;/td&gt;&#xA;&lt;td&gt;visual_select&lt;/td&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;Plug&gt;(MatchitVisualBackward)&lt;/td&gt;&#xA;&lt;td&gt;visual_select&lt;/td&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;Plug&gt;(MatchitVisualForward)&lt;/td&gt;&#xA;&lt;td&gt;visual_select&lt;/td&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;%&lt;/td&gt;&#xA;&lt;td&gt;operator_pending&lt;/td&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;[%&lt;/td&gt;&#xA;&lt;td&gt;operator_pending&lt;/td&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;]%&lt;/td&gt;&#xA;&lt;td&gt;operator_pending&lt;/td&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;g%&lt;/td&gt;&#xA;&lt;td&gt;operator_pending&lt;/td&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;Plug&gt;(MatchitOperationMultiForward)&lt;/td&gt;&#xA;&lt;td&gt;operator_pending&lt;/td&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;Plug&gt;(MatchitOperationMultiBackward)&lt;/td&gt;&#xA;&lt;td&gt;operator_pending&lt;/td&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;Plug&gt;(MatchitOperationBackward)&lt;/td&gt;&#xA;&lt;td&gt;operator_pending&lt;/td&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;Plug&gt;(MatchitOperationForward)&lt;/td&gt;&#xA;&lt;td&gt;operator_pending&lt;/td&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;%&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&amp;amp;&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;:help &amp;amp;-default&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;[%&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;[&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;Add empty line above cursor&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;[&lt;C-T&gt;&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;:ptprevious&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;[&lt;C-L&gt;&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;:lpfile&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;[&lt;C-Q&gt;&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;:cpfile&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;]%&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;]&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;Add empty line below cursor&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;]&lt;C-T&gt;&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;:ptnext&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;]&lt;C-L&gt;&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;:lnfile&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;]&lt;C-Q&gt;&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;:cnfile&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;g%&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;gx&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;Opens filepath or URI under cursor with the system handler (file explorer, web browser, …)&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;Plug&gt;(fzf-normal)&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;Plug&gt;(fzf-insert)&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;Plug&gt;(MatchitNormalMultiForward)&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;Plug&gt;(MatchitNormalMultiBackward)&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;Plug&gt;(MatchitNormalBackward)&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;Plug&gt;(MatchitNormalForward)&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;C-L&gt;&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;:help CTRL-L-default&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;%&lt;/td&gt;&#xA;&lt;td&gt;visual&lt;/td&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;@&lt;/td&gt;&#xA;&lt;td&gt;visual&lt;/td&gt;&#xA;&lt;td&gt;:help v_@-default&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;Q&lt;/td&gt;&#xA;&lt;td&gt;visual&lt;/td&gt;&#xA;&lt;td&gt;:help v_Q-default&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;[%&lt;/td&gt;&#xA;&lt;td&gt;visual&lt;/td&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;]%&lt;/td&gt;&#xA;&lt;td&gt;visual&lt;/td&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;a%&lt;/td&gt;&#xA;&lt;td&gt;visual&lt;/td&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;g%&lt;/td&gt;&#xA;&lt;td&gt;visual&lt;/td&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;gx&lt;/td&gt;&#xA;&lt;td&gt;visual&lt;/td&gt;&#xA;&lt;td&gt;Opens filepath or URI under cursor with the system handler (file explorer, web browser, …)&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;Plug&gt;(MatchitVisualTextObject)&lt;/td&gt;&#xA;&lt;td&gt;visual&lt;/td&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;Plug&gt;(MatchitVisualMultiForward)&lt;/td&gt;&#xA;&lt;td&gt;visual&lt;/td&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;Plug&gt;(MatchitVisualMultiBackward)&lt;/td&gt;&#xA;&lt;td&gt;visual&lt;/td&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;Plug&gt;(MatchitVisualBackward)&lt;/td&gt;&#xA;&lt;td&gt;visual&lt;/td&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;Plug&gt;(MatchitVisualForward)&lt;/td&gt;&#xA;&lt;td&gt;visual&lt;/td&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Navigation and Movement - Neovim Keybindings</title>
    <id>https://dots.waylonwalker.com/neovim-navigation/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/neovim-navigation/" rel="alternate" type="text/html"></link>
    <summary type="text">Navigation and Movement keybindings for Neovim</summary>
    <content type="html">&lt;p&gt;Move through your code efficiently. Jump between files, symbols, and references.&lt;/p&gt;&#xA;&lt;h2 id=&#34;keybindings&#34;&gt;Keybindings &lt;a href=&#34;#keybindings&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Mode&lt;/th&gt;&#xA;&lt;th&gt;Description&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;S-Tab&gt;&lt;/td&gt;&#xA;&lt;td&gt;insert&lt;/td&gt;&#xA;&lt;td&gt;vim.snippet.jump if active, otherwise &lt;S-Tab&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;Tab&gt;&lt;/td&gt;&#xA;&lt;td&gt;insert&lt;/td&gt;&#xA;&lt;td&gt;vim.snippet.jump if active, otherwise &lt;Tab&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;Tab&gt;&lt;/td&gt;&#xA;&lt;td&gt;visual_select&lt;/td&gt;&#xA;&lt;td&gt;vim.snippet.jump if active, otherwise &lt;Tab&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;#&lt;/td&gt;&#xA;&lt;td&gt;visual_select&lt;/td&gt;&#xA;&lt;td&gt;:help v_#-default&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;*&lt;/td&gt;&#xA;&lt;td&gt;visual_select&lt;/td&gt;&#xA;&lt;td&gt;:help v_star-default&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;S-Tab&gt;&lt;/td&gt;&#xA;&lt;td&gt;visual_select&lt;/td&gt;&#xA;&lt;td&gt;vim.snippet.jump if active, otherwise &lt;S-Tab&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;[B&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;:brewind&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;[b&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;:bprevious&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;[T&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;:trewind&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;[t&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;:tprevious&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;[A&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;:rewind&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;[a&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;:previous&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;[L&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;:lrewind&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;[l&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;:lprevious&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;[Q&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;:crewind&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;[q&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;:cprevious&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;[D&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;Jump to the first diagnostic in the current buffer&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;[d&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;Jump to the previous diagnostic in the current buffer&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;]B&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;:blast&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;]b&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;:bnext&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;]T&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;:tlast&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;]t&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;:tnext&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;]A&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;:last&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;]a&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;:next&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;]L&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;:llast&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;]l&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;:lnext&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;]Q&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;:clast&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;]q&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;:cnext&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;]D&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;Jump to the last diagnostic in the current buffer&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;]d&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;Jump to the next diagnostic in the current buffer&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;C-W&gt;&lt;C-D&gt;&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;Show diagnostics under the cursor&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;C-W&gt;d&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;Show diagnostics under the cursor&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;#&lt;/td&gt;&#xA;&lt;td&gt;visual&lt;/td&gt;&#xA;&lt;td&gt;:help v_#-default&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;*&lt;/td&gt;&#xA;&lt;td&gt;visual&lt;/td&gt;&#xA;&lt;td&gt;:help v_star-default&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;Tab&gt;&lt;/td&gt;&#xA;&lt;td&gt;select&lt;/td&gt;&#xA;&lt;td&gt;vim.snippet.jump if active, otherwise &lt;Tab&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;S-Tab&gt;&lt;/td&gt;&#xA;&lt;td&gt;select&lt;/td&gt;&#xA;&lt;td&gt;vim.snippet.jump if active, otherwise &lt;S-Tab&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Media Controls - Neovim Keybindings</title>
    <id>https://dots.waylonwalker.com/neovim-media/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/neovim-media/" rel="alternate" type="text/html"></link>
    <summary type="text">Media Controls keybindings for Neovim</summary>
    <content type="html">&lt;p&gt;Control playback and volume from your keyboard. Manage media.&lt;/p&gt;&#xA;&lt;h2 id=&#34;keybindings&#34;&gt;Keybindings &lt;a href=&#34;#keybindings&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Mode&lt;/th&gt;&#xA;&lt;th&gt;Description&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;/table&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>LSP and IntelliSense - Neovim Keybindings</title>
    <id>https://dots.waylonwalker.com/neovim-lsp/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/neovim-lsp/" rel="alternate" type="text/html"></link>
    <summary type="text">LSP and IntelliSense keybindings for Neovim</summary>
    <content type="html">&lt;p&gt;Navigate code like an IDE. Jump to definitions, view documentation, and fix errors.&lt;/p&gt;&#xA;&lt;h2 id=&#34;keybindings&#34;&gt;Keybindings &lt;a href=&#34;#keybindings&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Mode&lt;/th&gt;&#xA;&lt;th&gt;Description&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;gra&lt;/td&gt;&#xA;&lt;td&gt;visual_select&lt;/td&gt;&#xA;&lt;td&gt;vim.lsp.buf.code_action()&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;gO&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;vim.lsp.buf.document_symbol()&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;grt&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;vim.lsp.buf.type_definition()&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;gri&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;vim.lsp.buf.implementation()&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;grr&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;vim.lsp.buf.references()&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;gra&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;vim.lsp.buf.code_action()&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;grn&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;vim.lsp.buf.rename()&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;gra&lt;/td&gt;&#xA;&lt;td&gt;visual&lt;/td&gt;&#xA;&lt;td&gt;vim.lsp.buf.code_action()&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Layout Management - Neovim Keybindings</title>
    <id>https://dots.waylonwalker.com/neovim-layout/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/neovim-layout/" rel="alternate" type="text/html"></link>
    <summary type="text">Layout Management keybindings for Neovim</summary>
    <content type="html">&lt;p&gt;Switch between window layouts. Optimize your workspace.&lt;/p&gt;&#xA;&lt;h2 id=&#34;keybindings&#34;&gt;Keybindings &lt;a href=&#34;#keybindings&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Mode&lt;/th&gt;&#xA;&lt;th&gt;Description&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;/table&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Neovim Keybindings Reference</title>
    <id>https://dots.waylonwalker.com/neovim-keybindings/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/neovim-keybindings/" rel="alternate" type="text/html"></link>
    <summary type="text">Complete reference for Neovim keybindings organized by category</summary>
    <content type="html">&lt;p&gt;Complete reference for Neovim keybindings organized by functional category.&lt;/p&gt;&#xA;&lt;h2 id=&#34;categories&#34;&gt;Categories &lt;a href=&#34;#categories&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/neovim-navigation/&#34; class=&#34;wikilink&#34; data-title=&#34;Navigation and Movement - Neovim Keybindings&#34; data-description=&#34;Navigation and Movement keybindings for Neovim&#34; data-date=&#34;2026-02-07&#34;&gt;Navigation and Movement&lt;/a&gt; (36 keybindings)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/neovim-editing/&#34; class=&#34;wikilink&#34; data-title=&#34;Text Editing - Neovim Keybindings&#34; data-description=&#34;Text Editing keybindings for Neovim&#34; data-date=&#34;2026-02-07&#34;&gt;Text Editing&lt;/a&gt; (9 keybindings)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/neovim-lsp/&#34; class=&#34;wikilink&#34; data-title=&#34;LSP and IntelliSense - Neovim Keybindings&#34; data-description=&#34;LSP and IntelliSense keybindings for Neovim&#34; data-date=&#34;2026-02-07&#34;&gt;LSP and IntelliSense&lt;/a&gt; (8 keybindings)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/neovim-other/&#34; class=&#34;wikilink&#34; data-title=&#34;Other - Neovim Keybindings&#34; data-description=&#34;Other keybindings for Neovim&#34; data-date=&#34;2026-02-07&#34;&gt;Other&lt;/a&gt; (58 keybindings)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/keybindings-complete-list/&#34; class=&#34;wikilink&#34; data-title=&#34;Complete Keybindings List&#34; data-description=&#34;Complete alphabetical list of all keybindings across all environments&#34; data-date=&#34;2026-02-07&#34;&gt;Complete List (Alphabetical)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Git Operations - Neovim Keybindings</title>
    <id>https://dots.waylonwalker.com/neovim-git/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/neovim-git/" rel="alternate" type="text/html"></link>
    <summary type="text">Git Operations keybindings for Neovim</summary>
    <content type="html">&lt;p&gt;Manage version control without leaving your editor. Stage, commit, diff, and browse history.&lt;/p&gt;&#xA;&lt;h2 id=&#34;keybindings&#34;&gt;Keybindings &lt;a href=&#34;#keybindings&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Mode&lt;/th&gt;&#xA;&lt;th&gt;Description&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;/table&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>File Operations - Neovim Keybindings</title>
    <id>https://dots.waylonwalker.com/neovim-files/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/neovim-files/" rel="alternate" type="text/html"></link>
    <summary type="text">File Operations keybindings for Neovim</summary>
    <content type="html">&lt;p&gt;Open, save, and manage files quickly. Browse your project structure.&lt;/p&gt;&#xA;&lt;h2 id=&#34;keybindings&#34;&gt;Keybindings &lt;a href=&#34;#keybindings&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Mode&lt;/th&gt;&#xA;&lt;th&gt;Description&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;/table&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Text Editing - Neovim Keybindings</title>
    <id>https://dots.waylonwalker.com/neovim-editing/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/neovim-editing/" rel="alternate" type="text/html"></link>
    <summary type="text">Text Editing keybindings for Neovim</summary>
    <content type="html">&lt;p&gt;Edit text faster with powerful selection, manipulation, and transformation commands.&lt;/p&gt;&#xA;&lt;h2 id=&#34;keybindings&#34;&gt;Keybindings &lt;a href=&#34;#keybindings&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Mode&lt;/th&gt;&#xA;&lt;th&gt;Description&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;C-S&gt;&lt;/td&gt;&#xA;&lt;td&gt;insert&lt;/td&gt;&#xA;&lt;td&gt;vim.lsp.buf.signature_help()&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;gc&lt;/td&gt;&#xA;&lt;td&gt;visual_select&lt;/td&gt;&#xA;&lt;td&gt;Toggle comment&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;C-S&gt;&lt;/td&gt;&#xA;&lt;td&gt;visual_select&lt;/td&gt;&#xA;&lt;td&gt;vim.lsp.buf.signature_help()&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;gc&lt;/td&gt;&#xA;&lt;td&gt;operator_pending&lt;/td&gt;&#xA;&lt;td&gt;Comment textobject&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;Y&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;:help Y-default&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;gcc&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;Toggle comment line&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;gc&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;Toggle comment&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;gc&lt;/td&gt;&#xA;&lt;td&gt;visual&lt;/td&gt;&#xA;&lt;td&gt;Toggle comment&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;C-S&gt;&lt;/td&gt;&#xA;&lt;td&gt;select&lt;/td&gt;&#xA;&lt;td&gt;vim.lsp.buf.signature_help()&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Client Window Operations - Neovim Keybindings</title>
    <id>https://dots.waylonwalker.com/neovim-client/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/neovim-client/" rel="alternate" type="text/html"></link>
    <summary type="text">Client Window Operations keybindings for Neovim</summary>
    <content type="html">&lt;p&gt;Focus and manage application windows. Switch between programs.&lt;/p&gt;&#xA;&lt;h2 id=&#34;keybindings&#34;&gt;Keybindings &lt;a href=&#34;#keybindings&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Mode&lt;/th&gt;&#xA;&lt;th&gt;Description&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;/table&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Awesome WM Core - Neovim Keybindings</title>
    <id>https://dots.waylonwalker.com/neovim-awesome/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/neovim-awesome/" rel="alternate" type="text/html"></link>
    <summary type="text">Awesome WM Core keybindings for Neovim</summary>
    <content type="html">&lt;p&gt;Control your window manager. Launch applications.&lt;/p&gt;&#xA;&lt;h2 id=&#34;keybindings&#34;&gt;Keybindings &lt;a href=&#34;#keybindings&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Mode&lt;/th&gt;&#xA;&lt;th&gt;Description&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;/table&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Complete Keybindings List</title>
    <id>https://dots.waylonwalker.com/keybindings-complete-list/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/keybindings-complete-list/" rel="alternate" type="text/html"></link>
    <summary type="text">Complete alphabetical list of all keybindings across all environments</summary>
    <content type="html">&lt;p&gt;All keybindings across Neovim and Awesome WM environments, organized alphabetically for quick reference.&lt;/p&gt;&#xA;&lt;h2 id=&#34;neovim-keybindings&#34;&gt;Neovim Keybindings &lt;a href=&#34;#neovim-keybindings&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Mode&lt;/th&gt;&#xA;&lt;th&gt;Description&lt;/th&gt;&#xA;&lt;th&gt;Command&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;#&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Visual&lt;/td&gt;&#xA;&lt;td&gt;:help v_#-default&lt;/td&gt;&#xA;&lt;td&gt;nil&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;#&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Visual_select&lt;/td&gt;&#xA;&lt;td&gt;:help v_#-default&lt;/td&gt;&#xA;&lt;td&gt;nil&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;%&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Normal&lt;/td&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;td&gt;&lt;Plug&gt;(MatchitNormalForward)&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;%&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Operator_pending&lt;/td&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;td&gt;&lt;Plug&gt;(MatchitOperationForward)&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;%&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Visual&lt;/td&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;td&gt;&lt;Plug&gt;(MatchitVisualForward)&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;%&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Visual_select&lt;/td&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;td&gt;&lt;Plug&gt;(MatchitVisualForward)&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;&amp;amp;&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Normal&lt;/td&gt;&#xA;&lt;td&gt;:help &amp;amp;-default&lt;/td&gt;&#xA;&lt;td&gt;:&amp;amp;&amp;amp;&lt;CR&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;*&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Visual&lt;/td&gt;&#xA;&lt;td&gt;:help v_star-default&lt;/td&gt;&#xA;&lt;td&gt;nil&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;*&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Visual_select&lt;/td&gt;&#xA;&lt;td&gt;:help v_star-default&lt;/td&gt;&#xA;&lt;td&gt;nil&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;@&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Visual&lt;/td&gt;&#xA;&lt;td&gt;:help v_@-default&lt;/td&gt;&#xA;&lt;td&gt;mode() ==# &#39;V&#39; ? &#39;:normal! @&#39;.getcharstr().&#39;&lt;CR&gt;&#39; : &#39;@&#39;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;@&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Visual_select&lt;/td&gt;&#xA;&lt;td&gt;:help v_@-default&lt;/td&gt;&#xA;&lt;td&gt;mode() ==# &#39;V&#39; ? &#39;:normal! @&#39;.getcharstr().&#39;&lt;CR&gt;&#39; : &#39;@&#39;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;[ &lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Normal&lt;/td&gt;&#xA;&lt;td&gt;Add empty line above cursor&lt;/td&gt;&#xA;&lt;td&gt;nil&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;[%&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Normal&lt;/td&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;td&gt;&lt;Plug&gt;(MatchitNormalMultiBackward)&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;[%&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Operator_pending&lt;/td&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;td&gt;&lt;Plug&gt;(MatchitOperationMultiBackward)&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;[%&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Visual&lt;/td&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;td&gt;&lt;Plug&gt;(MatchitVisualMultiBackward)&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;[%&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Visual_select&lt;/td&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;td&gt;&lt;Plug&gt;(MatchitVisualMultiBackward)&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;[&amp;lt;C-L&amp;gt;&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Normal&lt;/td&gt;&#xA;&lt;td&gt;:lpfile&lt;/td&gt;&#xA;&lt;td&gt;nil&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;[&amp;lt;C-Q&amp;gt;&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Normal&lt;/td&gt;&#xA;&lt;td&gt;:cpfile&lt;/td&gt;&#xA;&lt;td&gt;nil&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;[&amp;lt;C-T&amp;gt;&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Normal&lt;/td&gt;&#xA;&lt;td&gt;:ptprevious&lt;/td&gt;&#xA;&lt;td&gt;nil&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;[a&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Normal&lt;/td&gt;&#xA;&lt;td&gt;:previous&lt;/td&gt;&#xA;&lt;td&gt;nil&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;[A&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Normal&lt;/td&gt;&#xA;&lt;td&gt;:rewind&lt;/td&gt;&#xA;&lt;td&gt;nil&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;[b&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Normal&lt;/td&gt;&#xA;&lt;td&gt;:bprevious&lt;/td&gt;&#xA;&lt;td&gt;nil&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;[B&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Normal&lt;/td&gt;&#xA;&lt;td&gt;:brewind&lt;/td&gt;&#xA;&lt;td&gt;nil&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;[D&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Normal&lt;/td&gt;&#xA;&lt;td&gt;Jump to the first diagnostic in the current buffer&lt;/td&gt;&#xA;&lt;td&gt;nil&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;[d&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Normal&lt;/td&gt;&#xA;&lt;td&gt;Jump to the previous diagnostic in the current buffer&lt;/td&gt;&#xA;&lt;td&gt;nil&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;[l&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Normal&lt;/td&gt;&#xA;&lt;td&gt;:lprevious&lt;/td&gt;&#xA;&lt;td&gt;nil&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;[L&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Normal&lt;/td&gt;&#xA;&lt;td&gt;:lrewind&lt;/td&gt;&#xA;&lt;td&gt;nil&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;[q&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Normal&lt;/td&gt;&#xA;&lt;td&gt;:cprevious&lt;/td&gt;&#xA;&lt;td&gt;nil&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;[Q&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Normal&lt;/td&gt;&#xA;&lt;td&gt;:crewind&lt;/td&gt;&#xA;&lt;td&gt;nil&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;[t&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Normal&lt;/td&gt;&#xA;&lt;td&gt;:tprevious&lt;/td&gt;&#xA;&lt;td&gt;nil&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;[T&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Normal&lt;/td&gt;&#xA;&lt;td&gt;:trewind&lt;/td&gt;&#xA;&lt;td&gt;nil&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;] &lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Normal&lt;/td&gt;&#xA;&lt;td&gt;Add empty line below cursor&lt;/td&gt;&#xA;&lt;td&gt;nil&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;]%&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Normal&lt;/td&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;td&gt;&lt;Plug&gt;(MatchitNormalMultiForward)&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;]%&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Operator_pending&lt;/td&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;td&gt;&lt;Plug&gt;(MatchitOperationMultiForward)&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;]%&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Visual&lt;/td&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;td&gt;&lt;Plug&gt;(MatchitVisualMultiForward)&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;]%&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Visual_select&lt;/td&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;td&gt;&lt;Plug&gt;(MatchitVisualMultiForward)&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;]&amp;lt;C-L&amp;gt;&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Normal&lt;/td&gt;&#xA;&lt;td&gt;:lnfile&lt;/td&gt;&#xA;&lt;td&gt;nil&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;]&amp;lt;C-Q&amp;gt;&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Normal&lt;/td&gt;&#xA;&lt;td&gt;:cnfile&lt;/td&gt;&#xA;&lt;td&gt;nil&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;]&amp;lt;C-T&amp;gt;&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Normal&lt;/td&gt;&#xA;&lt;td&gt;:ptnext&lt;/td&gt;&#xA;&lt;td&gt;nil&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;]A&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Normal&lt;/td&gt;&#xA;&lt;td&gt;:last&lt;/td&gt;&#xA;&lt;td&gt;nil&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;]a&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Normal&lt;/td&gt;&#xA;&lt;td&gt;:next&lt;/td&gt;&#xA;&lt;td&gt;nil&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;]B&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Normal&lt;/td&gt;&#xA;&lt;td&gt;:blast&lt;/td&gt;&#xA;&lt;td&gt;nil&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;]b&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Normal&lt;/td&gt;&#xA;&lt;td&gt;:bnext&lt;/td&gt;&#xA;&lt;td&gt;nil&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;]D&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Normal&lt;/td&gt;&#xA;&lt;td&gt;Jump to the last diagnostic in the current buffer&lt;/td&gt;&#xA;&lt;td&gt;nil&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;]d&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Normal&lt;/td&gt;&#xA;&lt;td&gt;Jump to the next diagnostic in the current buffer&lt;/td&gt;&#xA;&lt;td&gt;nil&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;]L&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Normal&lt;/td&gt;&#xA;&lt;td&gt;:llast&lt;/td&gt;&#xA;&lt;td&gt;nil&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;]l&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Normal&lt;/td&gt;&#xA;&lt;td&gt;:lnext&lt;/td&gt;&#xA;&lt;td&gt;nil&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;]Q&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Normal&lt;/td&gt;&#xA;&lt;td&gt;:clast&lt;/td&gt;&#xA;&lt;td&gt;nil&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;]q&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Normal&lt;/td&gt;&#xA;&lt;td&gt;:cnext&lt;/td&gt;&#xA;&lt;td&gt;nil&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;]T&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Normal&lt;/td&gt;&#xA;&lt;td&gt;:tlast&lt;/td&gt;&#xA;&lt;td&gt;nil&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;]t&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Normal&lt;/td&gt;&#xA;&lt;td&gt;:tnext&lt;/td&gt;&#xA;&lt;td&gt;nil&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;a%&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Visual&lt;/td&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;td&gt;&lt;Plug&gt;(MatchitVisualTextObject)&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;a%&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Visual_select&lt;/td&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;td&gt;&lt;Plug&gt;(MatchitVisualTextObject)&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;g%&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Normal&lt;/td&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;td&gt;&lt;Plug&gt;(MatchitNormalBackward)&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;g%&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Operator_pending&lt;/td&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;td&gt;&lt;Plug&gt;(MatchitOperationBackward)&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;g%&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Visual&lt;/td&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;td&gt;&lt;Plug&gt;(MatchitVisualBackward)&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;g%&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Visual_select&lt;/td&gt;&#xA;&lt;td&gt;&lt;/td&gt;&#xA;&lt;td&gt;&lt;Plug&gt;(MatchitVisualBackward)&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;gc&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Normal&lt;/td&gt;&#xA;&lt;td&gt;Toggle comment&lt;/td&gt;&#xA;&lt;td&gt;nil&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;gc&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Operator_pending&lt;/td&gt;&#xA;&lt;td&gt;Comment textobject&lt;/td&gt;&#xA;&lt;td&gt;nil&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;gc&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Visual&lt;/td&gt;&#xA;&lt;td&gt;Toggle comment&lt;/td&gt;&#xA;&lt;td&gt;nil&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;gc&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Visual_select&lt;/td&gt;&#xA;&lt;td&gt;Toggle comment&lt;/td&gt;&#xA;&lt;td&gt;nil&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;gcc&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Normal&lt;/td&gt;&#xA;&lt;td&gt;Toggle comment line&lt;/td&gt;&#xA;&lt;td&gt;nil&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;gO&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Normal&lt;/td&gt;&#xA;&lt;td&gt;vim.lsp.buf.document_symbol()&lt;/td&gt;&#xA;&lt;td&gt;nil&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;gra&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Normal&lt;/td&gt;&#xA;&lt;td&gt;vim.lsp.buf.code_action()&lt;/td&gt;&#xA;&lt;td&gt;nil&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;gra&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Visual&lt;/td&gt;&#xA;&lt;td&gt;vim.lsp.buf.code_action()&lt;/td&gt;&#xA;&lt;td&gt;nil&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;gra&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Visual_select&lt;/td&gt;&#xA;&lt;td&gt;vim.lsp.buf.code_action()&lt;/td&gt;&#xA;&lt;td&gt;nil&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;gri&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Normal&lt;/td&gt;&#xA;&lt;td&gt;vim.lsp.buf.implementation()&lt;/td&gt;&#xA;&lt;td&gt;nil&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;grn&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Normal&lt;/td&gt;&#xA;&lt;td&gt;vim.lsp.buf.rename()&lt;/td&gt;&#xA;&lt;td&gt;nil&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;grr&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Normal&lt;/td&gt;&#xA;&lt;td&gt;vim.lsp.buf.references()&lt;/td&gt;&#xA;&lt;td&gt;nil&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;grt&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Normal&lt;/td&gt;&#xA;&lt;td&gt;vim.lsp.buf.type_definition()&lt;/td&gt;&#xA;&lt;td&gt;nil&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;gx&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Normal&lt;/td&gt;&#xA;&lt;td&gt;Opens filepath or URI under cursor with the system handler (file explorer, web browser, …)&lt;/td&gt;&#xA;&lt;td&gt;nil&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;gx&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Visual&lt;/td&gt;&#xA;&lt;td&gt;Opens filepath or URI under cursor with the system handler (file explorer, web browser, …)&lt;/td&gt;&#xA;&lt;td&gt;nil&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;gx&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Visual_select&lt;/td&gt;&#xA;&lt;td&gt;Opens filepath or URI under cursor with the system handler (file explorer, web browser, …)&lt;/td&gt;&#xA;&lt;td&gt;nil&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Q&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Visual&lt;/td&gt;&#xA;&lt;td&gt;:help v_Q-default&lt;/td&gt;&#xA;&lt;td&gt;mode() ==# &#39;V&#39; ? &#39;:normal! @&lt;C-R&gt;=reg_recorded()&lt;CR&gt;&lt;CR&gt;&#39; : &#39;Q&#39;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Q&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Visual_select&lt;/td&gt;&#xA;&lt;td&gt;:help v_Q-default&lt;/td&gt;&#xA;&lt;td&gt;mode() ==# &#39;V&#39; ? &#39;:normal! @&lt;C-R&gt;=reg_recorded()&lt;CR&gt;&lt;CR&gt;&#39; : &#39;Q&#39;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Y&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Normal&lt;/td&gt;&#xA;&lt;td&gt;:help Y-default&lt;/td&gt;&#xA;&lt;td&gt;y$&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Keybindings Reference</title>
    <id>https://dots.waylonwalker.com/keybindings/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/keybindings/" rel="alternate" type="text/html"></link>
    <summary type="text">Complete reference for all keybindings across Neovim and Awesome WM environments</summary>
    <content type="html">&lt;p&gt;Complete reference for all keybindings across Neovim and Awesome WM environments.&lt;/p&gt;&#xA;&lt;h2 id=&#34;environments&#34;&gt;Environments &lt;a href=&#34;#environments&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/neovim-keybindings/&#34; class=&#34;wikilink&#34; data-title=&#34;Neovim Keybindings Reference&#34; data-description=&#34;Complete reference for Neovim keybindings organized by category&#34; data-date=&#34;2026-02-07&#34;&gt;Neovim Keybindings&lt;/a&gt; (112 keybindings)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/keybindings-complete-list/&#34; class=&#34;wikilink&#34; data-title=&#34;Complete Keybindings List&#34; data-description=&#34;Complete alphabetical list of all keybindings across all environments&#34; data-date=&#34;2026-02-07&#34;&gt;Complete List (Alphabetical)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Dotfiles Overview</title>
    <id>https://dots.waylonwalker.com/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/" rel="alternate" type="text/html"></link>
    <summary type="text">Overview of my personal dotfiles - a collection of configurations for a productive development environment</summary>
    <content type="html">&lt;p&gt;Welcome to my personal dotfiles documentation. This is a collection of&#xA;configurations that I&#39;ve built up over years of tweaking my development&#xA;environment to maximize productivity and minimize friction.&lt;/p&gt;&#xA;&lt;h2 id=&#34;philosophy&#34;&gt;Philosophy &lt;a href=&#34;#philosophy&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;These dotfiles follow a few core principles:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Minimal friction&lt;/strong&gt; - Tools should get out of the way and let you work&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Keyboard-centric&lt;/strong&gt; - Mouse usage is minimized&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Portable&lt;/strong&gt; - Works across different machines and environments&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Version controlled&lt;/strong&gt; - Everything is tracked and reproducible&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;whats-included&#34;&gt;What&#39;s Included &lt;a href=&#34;#whats-included&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;shell--terminal&#34;&gt;Shell &amp;amp; Terminal &lt;a href=&#34;#shell--terminal&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/zsh/&#34; class=&#34;wikilink&#34; data-title=&#34;zsh Configuration&#34; data-description=&#34;zsh shell configuration - my primary shell with autosuggestions, syntax highlighting, and custom functions&#34; data-date=&#34;2026-02-07&#34;&gt;zsh Configuration&lt;/a&gt; - Primary shell with extensive customization&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/tmux/&#34; class=&#34;wikilink&#34; data-title=&#34;tmux Configuration&#34; data-description=&#34;tmux configuration for persistent terminal sessions with popup windows and session management&#34; data-date=&#34;2026-02-07&#34;&gt;tmux Configuration&lt;/a&gt; - Terminal multiplexer for persistent sessions&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/kitty/&#34; class=&#34;wikilink&#34; data-title=&#34;kitty Terminal&#34; data-description=&#34;kitty - a fast, feature-rich, GPU-based terminal emulator&#34; data-date=&#34;2026-02-07&#34;&gt;kitty Terminal&lt;/a&gt; - GPU-accelerated terminal emulator&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/wezterm/&#34; class=&#34;wikilink&#34; data-title=&#34;WezTerm&#34; data-description=&#34;WezTerm - a GPU-accelerated cross-platform terminal emulator&#34; data-date=&#34;2026-02-07&#34;&gt;WezTerm&lt;/a&gt; - Cross-platform terminal emulator&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;editors&#34;&gt;Editors &lt;a href=&#34;#editors&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/neovim/&#34; class=&#34;wikilink&#34; data-title=&#34;Neovim Configuration&#34; data-description=&#34;Neovim configuration with lazy.nvim for plugin management&#34; data-date=&#34;2026-02-07&#34;&gt;Neovim Configuration&lt;/a&gt; - Modal editor with extensive plugin ecosystem&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/helix/&#34; class=&#34;wikilink&#34; data-title=&#34;Helix Editor&#34; data-description=&#34;Helix - a post-modern modal text editor&#34; data-date=&#34;2026-02-07&#34;&gt;Helix Editor&lt;/a&gt; - Post-modern modal editor&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;window-management&#34;&gt;Window Management &lt;a href=&#34;#window-management&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/hyprland/&#34; class=&#34;wikilink&#34; data-title=&#34;Hyprland Window Manager&#34; data-description=&#34;Hyprland - a dynamic tiling Wayland compositor&#34; data-date=&#34;2026-02-07&#34;&gt;Hyprland Window Manager&lt;/a&gt; - Dynamic tiling Wayland compositor&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/awesome/&#34; class=&#34;wikilink&#34; data-title=&#34;Awesome Window Manager&#34; data-description=&#34;Awesome WM - a highly configurable X11 window manager&#34; data-date=&#34;2026-02-07&#34;&gt;Awesome Window Manager&lt;/a&gt; - Highly configurable X11 window manager&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;development-tools&#34;&gt;Development Tools &lt;a href=&#34;#development-tools&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/mise/&#34; class=&#34;wikilink&#34; data-title=&#34;mise Tool Management&#34; data-description=&#34;mise - the universal version manager for development tools&#34; data-date=&#34;2026-02-07&#34;&gt;mise Tool Management&lt;/a&gt; - Universal version manager for dev tools&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/git/&#34; class=&#34;wikilink&#34; data-title=&#34;Git Configuration&#34; data-description=&#34;Git configuration with aliases, delta for diffs, and work/personal separation&#34; data-date=&#34;2026-02-07&#34;&gt;Git Configuration&lt;/a&gt; - Version control configuration&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/gitui/&#34; class=&#34;wikilink&#34; data-title=&#34;gitui&#34; data-description=&#34;gitui - a blazing-fast terminal UI for git&#34; data-date=&#34;2026-02-07&#34;&gt;gitui&lt;/a&gt; - Terminal UI for git (primary)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/lazygit/&#34; class=&#34;wikilink&#34; data-title=&#34;Lazygit&#34; data-description=&#34;Lazygit - a simple terminal UI for git commands&#34; data-date=&#34;2026-02-07&#34;&gt;Lazygit&lt;/a&gt; - Alternative git TUI&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;status--system&#34;&gt;Status &amp;amp; System &lt;a href=&#34;#status--system&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/waybar/&#34; class=&#34;wikilink&#34; data-title=&#34;Waybar&#34; data-description=&#34;Waybar - a highly customizable Wayland bar&#34; data-date=&#34;2026-02-07&#34;&gt;Waybar&lt;/a&gt; - Highly customizable Wayland bar&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/polybar/&#34; class=&#34;wikilink&#34; data-title=&#34;Polybar&#34; data-description=&#34;Polybar - a fast and easy-to-use status bar for X11&#34; data-date=&#34;2026-02-07&#34;&gt;Polybar&lt;/a&gt; - Fast and easy-to-use status bar&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;utilities&#34;&gt;Utilities &lt;a href=&#34;#utilities&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/atuin/&#34; class=&#34;wikilink&#34; data-title=&#34;Atuin&#34; data-description=&#34;Atuin - a magical shell history with sync&#34; data-date=&#34;2026-02-07&#34;&gt;Atuin&lt;/a&gt; - Magical shell history&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/starship/&#34; class=&#34;wikilink&#34; data-title=&#34;Starship Prompt&#34; data-description=&#34;Starship - minimal, fast, and customizable shell prompt&#34; data-date=&#34;2026-02-07&#34;&gt;Starship Prompt&lt;/a&gt; - Minimal, fast shell prompt&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/fzf/&#34; class=&#34;wikilink&#34; data-title=&#34;fzf&#34; data-description=&#34;fzf - a command-line fuzzy finder&#34; data-date=&#34;2026-02-07&#34;&gt;fzf&lt;/a&gt; - Command-line fuzzy finder&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/lf/&#34; class=&#34;wikilink&#34; data-title=&#34;lf&#34; data-description=&#34;lf - a terminal file manager written in Go&#34; data-date=&#34;2026-02-07&#34;&gt;lf&lt;/a&gt; - Terminal file manager&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/yazi/&#34; class=&#34;wikilink&#34; data-title=&#34;Yazi&#34; data-description=&#34;Yazi - a terminal file manager&#34; data-date=&#34;2026-02-07&#34;&gt;Yazi&lt;/a&gt; - Alternative file manager&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/zellij/&#34; class=&#34;wikilink&#34; data-title=&#34;Zellij&#34; data-description=&#34;Zellij - a terminal workspace with batteries included&#34; data-date=&#34;2026-02-07&#34;&gt;Zellij&lt;/a&gt; - Terminal workspace with batteries included&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;getting-started&#34;&gt;Getting Started &lt;a href=&#34;#getting-started&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;If you&#39;re interested in using any of these configurations, check out the&#xA;&lt;a href=&#34;/getting-started/&#34; class=&#34;wikilink&#34; data-title=&#34;Getting Started&#34; data-description=&#34;Getting started with these dotfiles - installation and setup guide&#34; data-date=&#34;2026-02-07&#34;&gt;Getting Started&lt;/a&gt; guide for installation and setup&#xA;instructions.&lt;/p&gt;&#xA;&lt;h2 id=&#34;structure&#34;&gt;Structure &lt;a href=&#34;#structure&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;The dotfiles are organized by application, with each directory containing the&#xA;relevant configuration files:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;.&#xA;├── zsh/           # Shell configuration&#xA;├── tmux/          # Terminal multiplexer&#xA;├── nvim/          # Neovim configuration&#xA;├── hypr/          # Hyprland window manager&#xA;├── mise/          # Dev tool management&#xA;└── ...&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Each tool has its own documentation page covering setup, key features, and&#xA;customization options.&lt;/p&gt;&#xA;&lt;h2 id=&#34;contributing&#34;&gt;Contributing &lt;a href=&#34;#contributing&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;These are my personal configurations, but feel free to fork and adapt them for&#xA;your own use. If you find bugs or have suggestions, issues and pull requests are&#xA;welcome.&lt;/p&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Hyprland Window Manager</title>
    <id>https://dots.waylonwalker.com/hyprland/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/hyprland/" rel="alternate" type="text/html"></link>
    <summary type="text">Hyprland - a dynamic tiling Wayland compositor</summary>
    <content type="html">&lt;p&gt;&lt;a href=&#34;https://hyprland.org/&#34;&gt;Hyprland&lt;/a&gt; is a dynamic tiling Wayland compositor that&#xA;doesn&#39;t sacrifice on its looks. It provides smooth animations, great&#xA;functionality, and an easy-to-use configuration.&lt;/p&gt;&#xA;&lt;h2 id=&#34;features&#34;&gt;Features &lt;a href=&#34;#features&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Dynamic tiling&lt;/strong&gt; - Windows tile automatically with no manual layouts&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Wayland native&lt;/strong&gt; - Modern protocol, better performance&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Smooth animations&lt;/strong&gt; - Beautiful window transitions&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Layer shell&lt;/strong&gt; - Status bars and notifications work properly&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;XWayland&lt;/strong&gt; - Run X11 applications seamlessly&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;setup&#34;&gt;Setup &lt;a href=&#34;#setup&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;installation&#34;&gt;Installation &lt;a href=&#34;#installation&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;On Arch Linux:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo pacman -S hyprland&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;On other distributions, see the &lt;a href=&#34;https://wiki.hyprland.org/Getting-Started/Installation/&#34;&gt;official installation&#xA;guide&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h3 id=&#34;configuration&#34;&gt;Configuration &lt;a href=&#34;#configuration&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;Config files live in &lt;code&gt;~/.config/hypr/&lt;/code&gt;:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;hyprland.conf&lt;/code&gt; - Main configuration&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;monitors.conf&lt;/code&gt; - Monitor layouts and resolutions&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;bindings.conf&lt;/code&gt; - Key bindings&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;autostart.conf&lt;/code&gt; - Applications to start on launch&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;window-rules&#34;&gt;Window Rules &lt;a href=&#34;#window-rules&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Applications automatically go to specific workspaces:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Workspace assignments&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;windowrule&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; workspace 1, match:class ^&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;steam&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;$&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;windowrule&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; workspace 4, match:class ^&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;kitty&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;$&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;windowrule&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; workspace 5, match:class ^&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;firefox&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;$&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;windowrule&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; workspace 5, match:class ^&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;brave-browser&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;$&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;windowrule&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; workspace 6, match:class ^&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;signal&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;$&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;windowrule&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; workspace 8, match:class ^&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;brave-chat.openai.com__-Default&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;$&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;windowrule&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; workspace 9, match:class ^&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;org.prismlauncher.PrismLauncher&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;$&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Float certain windows&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;windowrule&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; float on, match:class ^&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;org.pulseaudio.pavucontrol&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;$&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;windowrule&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; float on, match:class ^&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;xdg-desktop-portal-gtk&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;$&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;workspaces&#34;&gt;Workspaces &lt;a href=&#34;#workspaces&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Workspaces are organized by function:&lt;/p&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Workspace&lt;/th&gt;&#xA;&lt;th&gt;Purpose&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;1&lt;/td&gt;&#xA;&lt;td&gt;Steam/Games&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;2&lt;/td&gt;&#xA;&lt;td&gt;Graphics (Krita)&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;3&lt;/td&gt;&#xA;&lt;td&gt;General&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;4&lt;/td&gt;&#xA;&lt;td&gt;Terminals&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;5&lt;/td&gt;&#xA;&lt;td&gt;Web Browsers&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;6&lt;/td&gt;&#xA;&lt;td&gt;Chat (Signal)&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;7&lt;/td&gt;&#xA;&lt;td&gt;Media&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;8&lt;/td&gt;&#xA;&lt;td&gt;Web Apps (ChatGPT, YouTube)&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;9&lt;/td&gt;&#xA;&lt;td&gt;Minecraft&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;10&lt;/td&gt;&#xA;&lt;td&gt;System&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;default-key-bindings&#34;&gt;Default Key Bindings &lt;a href=&#34;#default-key-bindings&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Hyprland uses a &lt;code&gt;SUPER&lt;/code&gt; (Windows/Super) key modifier:&lt;/p&gt;&#xA;&lt;h3 id=&#34;window-management&#34;&gt;Window Management &lt;a href=&#34;#window-management&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;SUPER+Q&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Close window&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;SUPER+Shift+Q&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Force kill window&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;SUPER+T&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Toggle floating&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;SUPER+F&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Toggle fullscreen&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;SUPER+J&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Toggle split direction&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;navigation&#34;&gt;Navigation &lt;a href=&#34;#navigation&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;SUPER+arrow keys&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Change window focus&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;SUPER+Shift+arrow keys&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Move window&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;SUPER+1-0&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Switch to workspace&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;SUPER+Shift+1-0&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Move window to workspace&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;mouse&#34;&gt;Mouse &lt;a href=&#34;#mouse&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;SUPER+LMB&lt;/code&gt; - Move window&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;SUPER+RMB&lt;/code&gt; - Resize window&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;scripts&#34;&gt;Scripts &lt;a href=&#34;#scripts&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Custom scripts in &lt;code&gt;~/.config/hypr/scripts/&lt;/code&gt;:&lt;/p&gt;&#xA;&lt;h3 id=&#34;terminalsh&#34;&gt;terminal.sh &lt;a href=&#34;#terminalsh&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;Launch terminal with specific rules:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cp&#34;&gt;#!/usr/bin/env bash&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cp&#34;&gt;&lt;/span&gt;kitty --class&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;kitty&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;focus-or-launchsh&#34;&gt;focus_or_launch.sh &lt;a href=&#34;#focus-or-launchsh&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;Focus a window if it exists, otherwise launch it:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cp&#34;&gt;#!/usr/bin/env bash&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cp&#34;&gt;&lt;/span&gt;&lt;span class=&#34;c1&#34;&gt;# Usage: focus_or_launch &amp;lt;class&amp;gt; &amp;lt;command&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;toggle-waybarsh&#34;&gt;toggle_waybar.sh &lt;a href=&#34;#toggle-waybarsh&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;Toggle the status bar visibility:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cp&#34;&gt;#!/usr/bin/env bash&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cp&#34;&gt;&lt;/span&gt;killall -SIGUSR1 waybar&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;autostart&#34;&gt;Autostart &lt;a href=&#34;#autostart&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Applications started automatically:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# From autostart.conf&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;exec-once &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; waybar&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;exec-once &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; hyprpaper&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;exec-once &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; mako  &lt;span class=&#34;c1&#34;&gt;# Notification daemon&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;environment-variables&#34;&gt;Environment Variables &lt;a href=&#34;#environment-variables&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Wayland-specific settings:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;env&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; XDG_CURRENT_DESKTOP,Hyprland&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;env&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; XDG_SESSION_TYPE,wayland&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;env&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; XDG_SESSION_DESKTOP,Hyprland&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;troubleshooting&#34;&gt;Troubleshooting &lt;a href=&#34;#troubleshooting&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;applications-wont-launch&#34;&gt;Applications won&#39;t launch &lt;a href=&#34;#applications-wont-launch&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;Check if they&#39;re trying to use X11:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Force XWayland for problematic apps&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;windowrule&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; xwayland, match:class ^&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;app-name&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;$&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;screen-sharing-not-working&#34;&gt;Screen sharing not working &lt;a href=&#34;#screen-sharing-not-working&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;Ensure xdg-desktop-portal-hyprland is installed:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo pacman -S xdg-desktop-portal-hyprland&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;see-also&#34;&gt;See Also &lt;a href=&#34;#see-also&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/awesome/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;Awesome Window Manager&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;Awesome WM - a highly configurable X11 window manager&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/waybar/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;Waybar&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;Waybar - a highly customizable Wayland bar&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card embed-card-external&#34;&gt;&#xA;  &lt;a href=&#34;https://wiki.hyprland.org/&#34; class=&#34;embed-card-link&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;Hyprland Wiki&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;The documentation for Hyprland.&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;wiki.hyprland.org&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Helix Editor</title>
    <id>https://dots.waylonwalker.com/helix/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/helix/" rel="alternate" type="text/html"></link>
    <summary type="text">Helix - a post-modern modal text editor</summary>
    <content type="html">&lt;p&gt;Helix is a post-modern modal text editor inspired by Kakoune. It features multiple cursors, tree-sitter integration, and a clean design.&lt;/p&gt;&#xA;&lt;h2 id=&#34;features&#34;&gt;Features &lt;a href=&#34;#features&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Modal editing&lt;/strong&gt; - Vim-like modal interface with improvements&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Multiple cursors&lt;/strong&gt; - Kakoune-style multiple selections&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Tree-sitter&lt;/strong&gt; - Built-in syntax highlighting and parsing&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;LSP support&lt;/strong&gt; - Language Server Protocol integration&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;No plugins needed&lt;/strong&gt; - Batteries included philosophy&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;setup&#34;&gt;Setup &lt;a href=&#34;#setup&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Install via package manager:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Ubuntu/Debian&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo add-apt-repository ppa:maveonair/helix-editor&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt update&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt install helix&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Arch Linux&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo pacman -S helix&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# macOS&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;brew install helix&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Via mise&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mise install helix&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;configuration&#34;&gt;Configuration &lt;a href=&#34;#configuration&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Config file: &lt;code&gt;~/.config/helix/config.toml&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;Example configuration:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;theme&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;dracula&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;editor&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;line-number&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;relative&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;mouse&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;false&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;cursorline&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;auto-save&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;editor&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;cursor-shape&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;normal&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;block&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;insert&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;bar&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;select&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;underline&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;editor&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;file-picker&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;hidden&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;false&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;key-differences-from-vimneovim&#34;&gt;Key Differences from Vim/Neovim &lt;a href=&#34;#key-differences-from-vimneovim&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Helix uses a selection-first approach:&lt;/p&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;th&gt;Vim&lt;/th&gt;&#xA;&lt;th&gt;Helix&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;Select word&lt;/td&gt;&#xA;&lt;td&gt;&lt;code&gt;viw&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;&lt;code&gt;w&lt;/code&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;Delete word&lt;/td&gt;&#xA;&lt;td&gt;&lt;code&gt;diw&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;&lt;code&gt;wd&lt;/code&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;Change word&lt;/td&gt;&#xA;&lt;td&gt;&lt;code&gt;ciw&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;&lt;code&gt;wc&lt;/code&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;Yank word&lt;/td&gt;&#xA;&lt;td&gt;&lt;code&gt;yiw&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;&lt;code&gt;wy&lt;/code&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;Go to line&lt;/td&gt;&#xA;&lt;td&gt;&lt;code&gt;G&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;&lt;code&gt;gh&lt;/code&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;key-bindings&#34;&gt;Key Bindings &lt;a href=&#34;#key-bindings&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Mode&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Space&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Normal&lt;/td&gt;&#xA;&lt;td&gt;Command palette&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Space+f&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Normal&lt;/td&gt;&#xA;&lt;td&gt;File picker&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Space+b&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Normal&lt;/td&gt;&#xA;&lt;td&gt;Buffer picker&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Space+g&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Normal&lt;/td&gt;&#xA;&lt;td&gt;Git picker&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Space+s&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Normal&lt;/td&gt;&#xA;&lt;td&gt;Symbol picker&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Space+?&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Normal&lt;/td&gt;&#xA;&lt;td&gt;Command picker&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+s&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Any&lt;/td&gt;&#xA;&lt;td&gt;Save&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+c&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Normal&lt;/td&gt;&#xA;&lt;td&gt;Comment line&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+w&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Normal&lt;/td&gt;&#xA;&lt;td&gt;Window commands&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;multiple-cursors&#34;&gt;Multiple Cursors &lt;a href=&#34;#multiple-cursors&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Helix excels at multiple selections:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;%&lt;/code&gt; - Select all occurrences in file&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;s&lt;/code&gt; - Select matches in selection&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;C&lt;/code&gt; - Copy selection to next line&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;A-C&lt;/code&gt; - Copy selection to previous line&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;;&lt;/code&gt; - Collapse selection to cursor&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Alt-;&lt;/code&gt; - Flip cursor and selection&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;see-also&#34;&gt;See Also &lt;a href=&#34;#see-also&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/neovim/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;Neovim Configuration&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;Neovim configuration with lazy.nvim for plugin management&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card embed-card-external&#34;&gt;&#xA;  &lt;a href=&#34;https://docs.helix-editor.com/&#34; class=&#34;embed-card-link&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;Helix&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;docs.helix-editor.com&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>gitui</title>
    <id>https://dots.waylonwalker.com/gitui/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/gitui/" rel="alternate" type="text/html"></link>
    <summary type="text">gitui - a blazing-fast terminal UI for git</summary>
    <content type="html">&lt;p&gt;gitui is a blazing-fast terminal UI for git written in Rust. It provides a keyboard-driven interface for common git operations with minimal dependencies and excellent performance.&lt;/p&gt;&#xA;&lt;p&gt;&lt;video autoplay loop muted playsinline controls preload=&#34;metadata&#34; class=&#34;md-video&#34;&gt;&lt;source src=&#34;/tapes/gitui-intro.mp4&#34; type=&#34;video/mp4&#34;&gt;gitui staging workflow&lt;/video&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;features&#34;&gt;Features &lt;a href=&#34;#features&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Fast&lt;/strong&gt; - Written in Rust, starts instantly&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Keyboard-driven&lt;/strong&gt; - No mouse required&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Minimal dependencies&lt;/strong&gt; - Single binary&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Async operations&lt;/strong&gt; - Non-blocking UI&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Popup friendly&lt;/strong&gt; - Works great in tmux popups&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;setup&#34;&gt;Setup &lt;a href=&#34;#setup&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Install via package manager:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Via mise (recommended)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mise install gitui&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Arch Linux&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo pacman -S gitui&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# macOS&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;brew install gitui&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Cargo&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cargo install gitui&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;launching&#34;&gt;Launching &lt;a href=&#34;#launching&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gitui&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Or from within a git repo with &lt;code&gt;Ctrl+G&lt;/code&gt; (from zsh config).&lt;/p&gt;&#xA;&lt;h2 id=&#34;key-bindings&#34;&gt;Key Bindings &lt;a href=&#34;#key-bindings&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;global&#34;&gt;Global &lt;a href=&#34;#global&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;?&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Help&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;q&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Quit&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Tab&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Switch panel (Status, Log, Diff)&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;1-3&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Jump to panel&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;status-panel&#34;&gt;Status Panel &lt;a href=&#34;#status-panel&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;↑/↓&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Navigate files&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Space&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Stage/unstage file&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Enter&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;View diff&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;a&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Stage all&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;r&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Revert changes&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;c&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Commit&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;p&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Push&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;f&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Pull/Fetch&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;b&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Branch&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;h&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Stash&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;commit&#34;&gt;Commit &lt;a href=&#34;#commit&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;c&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Open commit dialog&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+s&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Submit commit&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Esc&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Cancel&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;log-panel&#34;&gt;Log Panel &lt;a href=&#34;#log-panel&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;↑/↓&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Navigate commits&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Enter&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;View commit details&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;r&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Revert commit&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;e&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Edit past commit (rebase)&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;branch&#34;&gt;Branch &lt;a href=&#34;#branch&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;b&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Open branch list&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;c&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Create branch&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;d&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Delete branch&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;m&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Merge branch&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Enter&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Checkout branch&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;tmux-integration&#34;&gt;tmux Integration &lt;a href=&#34;#tmux-integration&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;From &lt;code&gt;.tmux.conf&lt;/code&gt;:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;bind&lt;/span&gt; -n M-F display-popup -h 95% -w 95% -d &lt;span class=&#34;s1&#34;&gt;&amp;#39;#{pane_current_path}&amp;#39;&lt;/span&gt; -E &lt;span class=&#34;s1&#34;&gt;&amp;#39;gitui&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Opens gitui in a popup with &lt;code&gt;Alt+Shift+F&lt;/code&gt; for full-screen git operations.&lt;/p&gt;&#xA;&lt;p&gt;From &lt;code&gt;.zshrc&lt;/code&gt;:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bindkey -s &lt;span class=&#34;s1&#34;&gt;&amp;#39;^g&amp;#39;&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;gitui\n&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Opens gitui with &lt;code&gt;Ctrl+G&lt;/code&gt; in current shell.&lt;/p&gt;&#xA;&lt;h2 id=&#34;workflow&#34;&gt;Workflow &lt;a href=&#34;#workflow&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Typical git workflow with gitui:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;Edit files&lt;/strong&gt; in neovim&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Stage changes&lt;/strong&gt; with &lt;code&gt;Space&lt;/code&gt; in gitui&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Review diff&lt;/strong&gt; with &lt;code&gt;Enter&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Commit&lt;/strong&gt; with &lt;code&gt;c&lt;/code&gt; and write message&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Push&lt;/strong&gt; with &lt;code&gt;p&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;All without leaving the terminal or using a mouse.&lt;/p&gt;&#xA;&lt;h2 id=&#34;comparison-with-lazygit&#34;&gt;Comparison with lazygit &lt;a href=&#34;#comparison-with-lazygit&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;gitui is my primary git TUI because:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Simpler&lt;/strong&gt; - Less configuration needed&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Faster&lt;/strong&gt; - Smaller binary, quicker startup&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Popup-friendly&lt;/strong&gt; - Works great in tmux popups&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Rust&lt;/strong&gt; - Aligns with my other Rust tools&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;I keep lazygit installed as an alternative when I need more advanced features.&lt;/p&gt;&#xA;&lt;h2 id=&#34;see-also&#34;&gt;See Also &lt;a href=&#34;#see-also&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/git/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;Git Configuration&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;Git configuration with aliases, delta for diffs, and work/personal separation&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/lazygit/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;Lazygit&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;Lazygit - a simple terminal UI for git commands&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/tmux/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;tmux Configuration&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;tmux configuration for persistent terminal sessions with popup windows and session management&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card embed-card-external&#34;&gt;&#xA;  &lt;a href=&#34;https://github.com/extrawurst/gitui&#34; class=&#34;embed-card-link&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-image&#34;&gt;&#xA;      &lt;img src=&#34;https://repository-images.githubusercontent.com/247725846/86707e00-e9f5-11ea-92b0-b7d526afa90f&#34; alt=&#34;&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;GitHub - gitui-org/gitui: Blazing 💥 fast terminal-ui for git written in rust 🦀&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;Blazing 💥 fast terminal-ui for git written in rust 🦀 - gitui-org/gitui&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;GitHub &amp;middot; github.com&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Git Configuration</title>
    <id>https://dots.waylonwalker.com/git/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/git/" rel="alternate" type="text/html"></link>
    <summary type="text">Git configuration with aliases, delta for diffs, and work/personal separation</summary>
    <content type="html">&lt;p&gt;Git configuration optimized for daily development with useful aliases, improved&#xA;diff viewing, and separate configs for work and personal projects.&lt;/p&gt;&#xA;&lt;h2 id=&#34;features&#34;&gt;Features &lt;a href=&#34;#features&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Delta&lt;/strong&gt; - Syntax-highlighted diffs and pager&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Conditional includes&lt;/strong&gt; - Different configs for work vs personal&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Useful aliases&lt;/strong&gt; - Shortcuts for common operations&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Bat integration&lt;/strong&gt; - Better file viewing&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;setup&#34;&gt;Setup &lt;a href=&#34;#setup&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;installation&#34;&gt;Installation &lt;a href=&#34;#installation&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;Git is typically pre-installed. For latest version:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Ubuntu/Debian&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt install git&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Arch Linux&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo pacman -S git&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Via mise&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mise install git&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;configuration&#34;&gt;Configuration &lt;a href=&#34;#configuration&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;Main config at &lt;code&gt;~/.gitconfig&lt;/code&gt;:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;user&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; Waylon S. Walker&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;email&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; waylon@waylonwalker.com&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;signingkey&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; 66E2BF2B4190EFE4&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;core&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;editor&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; nvim -c startinsert&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;excludesfile&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; ~/.global-gitignore&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;pager&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; bat --style&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;plain&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;conditional-includes&#34;&gt;Conditional Includes &lt;a href=&#34;#conditional-includes&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Different configurations for different directories:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;includeIf &lt;span class=&#34;s2&#34;&gt;&amp;#34;gitdir:~/work/&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;path&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; ~/.gitconfig-work&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;includeIf &lt;span class=&#34;s2&#34;&gt;&amp;#34;gitdir:~/git/&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;path&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; ~/.gitconfig-git&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Example &lt;code&gt;~/.gitconfig-work&lt;/code&gt;:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;user&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;email&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; waylon@company.com&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; Waylon Walker&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;key-settings&#34;&gt;Key Settings &lt;a href=&#34;#key-settings&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;editor&#34;&gt;Editor &lt;a href=&#34;#editor&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;Opens nvim in insert mode for commit messages:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;editor&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; nvim -c startinsert&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;pager&#34;&gt;Pager &lt;a href=&#34;#pager&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;Uses bat for better output:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;pager&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; bat --style&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;plain&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;diff&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; bat --plain&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;autocorrect&#34;&gt;Autocorrect &lt;a href=&#34;#autocorrect&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;Automatically fix typos after 1 second:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;help&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;autocorrect&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;10&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;aliases&#34;&gt;Aliases &lt;a href=&#34;#aliases&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;squash-all&#34;&gt;squash-all &lt;a href=&#34;#squash-all&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;Squash entire branch history into single commit:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git squash-all &lt;span class=&#34;s2&#34;&gt;&amp;#34;Initial commit&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Implementation:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;squash-all &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;!f(){ git reset &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;git commit-tree HEAD^&lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;tree&lt;span class=&#34;o&#34;&gt;}&lt;/span&gt; -m &lt;span class=&#34;se&#34;&gt;\&amp;#34;&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;:-&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;A&lt;/span&gt;&lt;span class=&#34;p&#34;&gt; new start&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;se&#34;&gt;\&amp;#34;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;;};f&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;restage&#34;&gt;restage &lt;a href=&#34;#restage&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;Restage already-staged files:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;restage&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; !git diff --name-only --cached &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; xargs git add&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;credentials&#34;&gt;Credentials &lt;a href=&#34;#credentials&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Uses GitHub CLI for authentication:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;credential &lt;span class=&#34;s2&#34;&gt;&amp;#34;https://github.com&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;helper&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;helper&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; !gh auth git-credential&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;credential&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;helper&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; store&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;delta-integration&#34;&gt;Delta Integration &lt;a href=&#34;#delta-integration&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Delta provides syntax highlighting for diffs:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;pager&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;diff&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; delta&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;log&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; delta&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;reflog&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; delta&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;show&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; delta&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;delta&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;features&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; side-by-side line-numbers decorations&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    syntax-theme &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; Dracula&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;default-behaviors&#34;&gt;Default Behaviors &lt;a href=&#34;#default-behaviors&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;init&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;defaultBranch&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; main&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;push&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;default&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; current&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;pull&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;rebase&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;true&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;rebase&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;autoStash&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;true&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;commit&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;gpgsign&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;false&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;global-gitignore&#34;&gt;Global Gitignore &lt;a href=&#34;#global-gitignore&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;A &lt;code&gt;~/.global-gitignore&lt;/code&gt; file excludes files across all repos:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# IDE&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;.idea/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;.vscode/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;*.swp&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;*~&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# OS&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;.DS_Store&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Thumbs.db&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Temporary&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;*.log&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;*.tmp&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;.env.local&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;workflows&#34;&gt;Workflows &lt;a href=&#34;#workflows&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;starting-a-new-project&#34;&gt;Starting a New Project &lt;a href=&#34;#starting-a-new-project&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Personal project&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; ~/git/new-project&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git init&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git add .&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git commit -m &lt;span class=&#34;s2&#34;&gt;&amp;#34;Initial commit&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Work project (uses work email automatically)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; ~/work/company-project&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git init&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git add .&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git commit -m &lt;span class=&#34;s2&#34;&gt;&amp;#34;Initial commit&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;cleaning-up-history&#34;&gt;Cleaning Up History &lt;a href=&#34;#cleaning-up-history&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Squash everything to one commit&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git squash-all &lt;span class=&#34;s2&#34;&gt;&amp;#34;Clean history&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Push with force&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git push --force-with-lease&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;see-also&#34;&gt;See Also &lt;a href=&#34;#see-also&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/lazygit/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;Lazygit&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;Lazygit - a simple terminal UI for git commands&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/gitui/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;gitui&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;gitui - a blazing-fast terminal UI for git&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/delta/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;Delta&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;Delta - syntax-highlighting pager for git and diff output&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/gh/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;GitHub CLI&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;GitHub CLI - a command-line tool for GitHub&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card embed-card-external&#34;&gt;&#xA;  &lt;a href=&#34;https://git-scm.com/doc&#34; class=&#34;embed-card-link&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;Redirecting…&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;git-scm.com&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card embed-card-external&#34;&gt;&#xA;  &lt;a href=&#34;https://github.com/dandavison/delta&#34; class=&#34;embed-card-link&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-image&#34;&gt;&#xA;      &lt;img src=&#34;https://opengraph.githubassets.com/06ca61f976050db0d8f65c6c003945e879c93aad4d3cf1f1f691a45ab4e4a3c1/dandavison/delta&#34; alt=&#34;&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;GitHub - dandavison/delta: A syntax-highlighting pager for git, diff, grep, and blame output&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;A syntax-highlighting pager for git, diff, grep, and blame output - dandavison/delta&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;GitHub &amp;middot; github.com&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>GitHub CLI</title>
    <id>https://dots.waylonwalker.com/gh/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/gh/" rel="alternate" type="text/html"></link>
    <summary type="text">GitHub CLI - a command-line tool for GitHub</summary>
    <content type="html">&lt;p&gt;GitHub CLI (&lt;code&gt;gh&lt;/code&gt;) is GitHub&#39;s official command-line tool that brings pull requests, issues, and other GitHub concepts to your terminal.&lt;/p&gt;&#xA;&lt;h2 id=&#34;features&#34;&gt;Features &lt;a href=&#34;#features&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Pull requests&lt;/strong&gt; - Create, view, checkout, and merge PRs&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Issues&lt;/strong&gt; - List, view, create, and close issues&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Repositories&lt;/strong&gt; - Clone, create, fork repos&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Actions&lt;/strong&gt; - View and monitor workflow runs&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Codespaces&lt;/strong&gt; - Manage cloud development environments&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Gists&lt;/strong&gt; - Create and manage gists&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;setup&#34;&gt;Setup &lt;a href=&#34;#setup&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Install via package manager:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Via mise (recommended)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mise install github-cli&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Ubuntu/Debian&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Download from GitHub releases&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Arch Linux&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo pacman -S github-cli&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# macOS&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;brew install gh&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;authentication&#34;&gt;Authentication &lt;a href=&#34;#authentication&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Login to GitHub&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gh auth login&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Verify status&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gh auth status&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Logout&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gh auth &lt;span class=&#34;nb&#34;&gt;logout&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;repository-operations&#34;&gt;Repository Operations &lt;a href=&#34;#repository-operations&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Clone repository&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gh repo clone owner/repo&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Create new repository&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gh repo create my-project --public&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Fork repository&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gh repo fork owner/repo&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# View repository&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gh repo view owner/repo --web&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;pull-requests&#34;&gt;Pull Requests &lt;a href=&#34;#pull-requests&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Create PR&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git push origin feature-branch&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gh pr create --title &lt;span class=&#34;s2&#34;&gt;&amp;#34;Add feature&amp;#34;&lt;/span&gt; --body &lt;span class=&#34;s2&#34;&gt;&amp;#34;Description&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# List PRs&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gh pr list&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gh pr list --state merged&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# View PR&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gh pr view &lt;span class=&#34;m&#34;&gt;123&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gh pr view &lt;span class=&#34;m&#34;&gt;123&lt;/span&gt; --web&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Checkout PR locally&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gh pr checkout &lt;span class=&#34;m&#34;&gt;123&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Check PR status&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gh pr status&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Merge PR&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gh pr merge &lt;span class=&#34;m&#34;&gt;123&lt;/span&gt; --squash&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;issues&#34;&gt;Issues &lt;a href=&#34;#issues&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# List issues&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gh issue list&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gh issue list --state closed&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Create issue&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gh issue create --title &lt;span class=&#34;s2&#34;&gt;&amp;#34;Bug report&amp;#34;&lt;/span&gt; --body &lt;span class=&#34;s2&#34;&gt;&amp;#34;Description&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# View issue&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gh issue view &lt;span class=&#34;m&#34;&gt;123&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gh issue view &lt;span class=&#34;m&#34;&gt;123&lt;/span&gt; --web&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Close issue&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gh issue close &lt;span class=&#34;m&#34;&gt;123&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Comment on issue&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gh issue comment &lt;span class=&#34;m&#34;&gt;123&lt;/span&gt; --body &lt;span class=&#34;s2&#34;&gt;&amp;#34;Thanks for reporting&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;workflows&#34;&gt;Workflows &lt;a href=&#34;#workflows&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# List workflow runs&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gh run list&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# View workflow run&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gh run view &lt;span class=&#34;m&#34;&gt;123456789&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Watch workflow run&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gh run watch &lt;span class=&#34;m&#34;&gt;123456789&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Re-run failed jobs&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gh run rerun &lt;span class=&#34;m&#34;&gt;123456789&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;aliases&#34;&gt;Aliases &lt;a href=&#34;#aliases&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Create shortcuts for common commands:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Create alias&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gh &lt;span class=&#34;nb&#34;&gt;alias&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;set&lt;/span&gt; pv &lt;span class=&#34;s1&#34;&gt;&amp;#39;pr view&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gh &lt;span class=&#34;nb&#34;&gt;alias&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;set&lt;/span&gt; co &lt;span class=&#34;s1&#34;&gt;&amp;#39;pr checkout&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Use alias&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gh pv &lt;span class=&#34;m&#34;&gt;123&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gh co &lt;span class=&#34;m&#34;&gt;123&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# List aliases&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gh &lt;span class=&#34;nb&#34;&gt;alias&lt;/span&gt; list&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;configuration&#34;&gt;Configuration &lt;a href=&#34;#configuration&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Config file: &lt;code&gt;~/.config/gh/config.yml&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;Example:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;git_protocol&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;ssh&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;editor&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;nvim&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;prompt&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;enabled&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;pager&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;delta&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;aliases&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;co&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;pr checkout&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;pv&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;pr view&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;see-also&#34;&gt;See Also &lt;a href=&#34;#see-also&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/git/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;Git Configuration&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;Git configuration with aliases, delta for diffs, and work/personal separation&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/lazygit/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;Lazygit&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;Lazygit - a simple terminal UI for git commands&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card embed-card-external&#34;&gt;&#xA;  &lt;a href=&#34;https://cli.github.com/&#34; class=&#34;embed-card-link&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-image&#34;&gt;&#xA;      &lt;img src=&#34;/assets/images/social-card.png&#34; alt=&#34;&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;GitHub CLI&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;Take GitHub to the command line&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;GitHub CLI &amp;middot; cli.github.com&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Getting Started</title>
    <id>https://dots.waylonwalker.com/getting-started/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/getting-started/" rel="alternate" type="text/html"></link>
    <summary type="text">Getting started with these dotfiles - installation and setup guide</summary>
    <content type="html">&lt;p&gt;This guide will help you set up these dotfiles on your own machine.&lt;/p&gt;&#xA;&lt;h2 id=&#34;prerequisites&#34;&gt;Prerequisites &lt;a href=&#34;#prerequisites&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;You&#39;ll need the following installed:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Git&lt;/li&gt;&#xA;&lt;li&gt;A terminal emulator (kitty, wezterm, or alacritty recommended)&lt;/li&gt;&#xA;&lt;li&gt;zsh shell&lt;/li&gt;&#xA;&lt;li&gt;curl or wget&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;quick-setup&#34;&gt;Quick Setup &lt;a href=&#34;#quick-setup&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;1-clone-the-repository&#34;&gt;1. Clone the Repository &lt;a href=&#34;#1-clone-the-repository&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git clone https://github.com/waylonwalker/devtainer.git ~/devtainer&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; ~/devtainer&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;2-install-tools&#34;&gt;2. Install Tools &lt;a href=&#34;#2-install-tools&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;The recommended way to install development tools is using &lt;a href=&#34;/mise/&#34; class=&#34;wikilink&#34; data-title=&#34;mise Tool Management&#34; data-description=&#34;mise - the universal version manager for development tools&#34; data-date=&#34;2026-02-07&#34;&gt;mise Tool Management&lt;/a&gt;:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Install mise&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl https://mise.run &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; sh&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Activate mise in your shell&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;eval &amp;#34;$(~/.local/bin/mise activate zsh)&amp;#34;&amp;#39;&lt;/span&gt; &amp;gt;&amp;gt; ~/.zshrc&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Install all tools from the config&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mise install&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;3-symlink-configurations&#34;&gt;3. Symlink Configurations &lt;a href=&#34;#3-symlink-configurations&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;Use &lt;a href=&#34;https://www.gnu.org/software/stow/&#34;&gt;stow&lt;/a&gt; or manual symlinks to install&#xA;configs:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Using stow (if available)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;stow zsh starship tmux&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Or manually&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ln -sf ~/devtainer/zsh/.zshrc ~/.zshrc&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ln -sf ~/devtainer/tmux/.tmux.conf ~/.tmux.conf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;recommended-order&#34;&gt;Recommended Order &lt;a href=&#34;#recommended-order&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;Shell&lt;/strong&gt; - Start with zsh for a better shell experience&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Terminal&lt;/strong&gt; - Install kitty or wezterm&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Editor&lt;/strong&gt; - Set up neovim with your preferred config&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Multiplexer&lt;/strong&gt; - Add tmux for session management&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Window Manager&lt;/strong&gt; - Hyprland (Wayland) or Awesome (X11)&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;tool-specific-setup&#34;&gt;Tool-Specific Setup &lt;a href=&#34;#tool-specific-setup&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Each tool has its own setup page:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;[[zsh#setup|zsh Setup]]&lt;/li&gt;&#xA;&lt;li&gt;[[tmux#setup|tmux Setup]]&lt;/li&gt;&#xA;&lt;li&gt;[[neovim#setup|neovim Setup]]&lt;/li&gt;&#xA;&lt;li&gt;[[hyprland#setup|hyprland Setup]]&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;troubleshooting&#34;&gt;Troubleshooting &lt;a href=&#34;#troubleshooting&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;config-not-loading&#34;&gt;Config not loading &lt;a href=&#34;#config-not-loading&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;Ensure symlinks are correct:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ls -la ~ &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; grep zshrc&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;tool-not-found&#34;&gt;Tool not found &lt;a href=&#34;#tool-not-found&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;Check that mise is activated and tools are installed:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mise list&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;which zsh&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;permission-issues&#34;&gt;Permission issues &lt;a href=&#34;#permission-issues&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;Some scripts may need executable permissions:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;chmod +x ~/devtainer/scripts/*&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;next-steps&#34;&gt;Next Steps &lt;a href=&#34;#next-steps&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Once you have the basics set up, explore the individual tool documentation to&#xA;learn about features and customization options.&lt;/p&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>fzf</title>
    <id>https://dots.waylonwalker.com/fzf/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/fzf/" rel="alternate" type="text/html"></link>
    <summary type="text">fzf - a command-line fuzzy finder</summary>
    <content type="html">&lt;p&gt;fzf is a general-purpose command-line fuzzy finder that integrates with shells and tools for fast file and command searching.&lt;/p&gt;&#xA;&lt;h2 id=&#34;features&#34;&gt;Features &lt;a href=&#34;#features&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Fuzzy matching&lt;/strong&gt; - Find items with approximate search&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Fast&lt;/strong&gt; - Written in Go, handles large lists&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Flexible&lt;/strong&gt; - Works with any list of text&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Preview&lt;/strong&gt; - Show previews of files and results&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Scriptable&lt;/strong&gt; - Easy to integrate in scripts&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;setup&#34;&gt;Setup &lt;a href=&#34;#setup&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Install via package manager:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Via mise (recommended)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mise install fzf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Ubuntu/Debian&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt install fzf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Arch Linux&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo pacman -S fzf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# macOS&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;brew install fzf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;shell-integration&#34;&gt;Shell Integration &lt;a href=&#34;#shell-integration&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Add to &lt;code&gt;~/.zshrc&lt;/code&gt;:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;source&lt;/span&gt; &amp;lt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;fzf --zsh&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;For bash:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;eval&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;fzf --bash&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;key-bindings&#34;&gt;Key Bindings &lt;a href=&#34;#key-bindings&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;shell-integration-1&#34;&gt;Shell Integration &lt;a href=&#34;#shell-integration-1&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+T&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Find files and insert path&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+R&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Search command history&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Alt+C&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Find directories and cd&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Tab&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Complete paths with fzf&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;fzf-interface&#34;&gt;fzf Interface &lt;a href=&#34;#fzf-interface&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+J/K&lt;/code&gt; or &lt;code&gt;Ctrl+N/P&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Navigate up/down&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+H/L&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Move cursor left/right in query&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Enter&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Select item&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Esc&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Cancel&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+U&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Clear query&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Tab&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Multi-select&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Shift+Tab&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Deselect&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;?&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Toggle preview&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;usage-examples&#34;&gt;Usage Examples &lt;a href=&#34;#usage-examples&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;basic-usage&#34;&gt;Basic Usage &lt;a href=&#34;#basic-usage&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Find files&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cat file_list.txt &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; fzf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Find processes&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ps aux &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; fzf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Find git branches&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git branch &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; fzf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;with-preview&#34;&gt;With Preview &lt;a href=&#34;#with-preview&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Preview files&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;fzf --preview &lt;span class=&#34;s1&#34;&gt;&amp;#39;cat {}&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Preview with bat&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;fzf --preview &lt;span class=&#34;s1&#34;&gt;&amp;#39;bat --style=numbers --color=always {}&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Preview directories&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tree -C &lt;span class=&#34;o&#34;&gt;{}&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; head -200&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;integration-examples&#34;&gt;Integration Examples &lt;a href=&#34;#integration-examples&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Edit file with neovim&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;nvim &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;fzf&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Kill process&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;kill&lt;/span&gt; -9 &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;ps aux &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; fzf &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; awk &lt;span class=&#34;s1&#34;&gt;&amp;#39;{print $2}&amp;#39;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Checkout git branch&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git checkout &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;git branch &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; fzf &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; sed &lt;span class=&#34;s1&#34;&gt;&amp;#39;s/* //&amp;#39;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# cd into directory&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;find . -type d &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; fzf&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;environment-variables&#34;&gt;Environment Variables &lt;a href=&#34;#environment-variables&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Default options&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;FZF_DEFAULT_OPTS&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;--height 40% --layout=reverse --border&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Default command&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;FZF_DEFAULT_COMMAND&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;fd --type f --hidden --follow --exclude .git&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Ctrl+T command&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;FZF_CTRL_T_COMMAND&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$FZF_DEFAULT_COMMAND&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Alt+C command&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;FZF_ALT_C_COMMAND&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;fd --type d --hidden --follow --exclude .git&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;see-also&#34;&gt;See Also &lt;a href=&#34;#see-also&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/zsh/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;zsh Configuration&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;zsh shell configuration - my primary shell with autosuggestions, syntax highlighting, and custom functions&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/neovim/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;Neovim Configuration&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;Neovim configuration with lazy.nvim for plugin management&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card embed-card-external&#34;&gt;&#xA;  &lt;a href=&#34;https://github.com/junegunn/fzf&#34; class=&#34;embed-card-link&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-image&#34;&gt;&#xA;      &lt;img src=&#34;https://repository-images.githubusercontent.com/13807606/b261cfc9-ec9c-4842-a7dd-366e6674cb50&#34; alt=&#34;&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;GitHub - junegunn/fzf: :cherry_blossom: A command-line fuzzy finder&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;:cherry_blossom: A command-line fuzzy finder. Contribute to junegunn/fzf development by creating an account on GitHub.&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;GitHub &amp;middot; github.com&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Delta</title>
    <id>https://dots.waylonwalker.com/delta/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/delta/" rel="alternate" type="text/html"></link>
    <summary type="text">Delta - syntax-highlighting pager for git and diff output</summary>
    <content type="html">&lt;p&gt;Delta is a syntax-highlighting pager for git and diff output that makes code reviews more pleasant.&lt;/p&gt;&#xA;&lt;h2 id=&#34;features&#34;&gt;Features &lt;a href=&#34;#features&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Syntax highlighting&lt;/strong&gt; - Language-aware highlighting of diffs&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Side-by-side view&lt;/strong&gt; - Compare old and new versions&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Git integration&lt;/strong&gt; - Works as git pager&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Customizable&lt;/strong&gt; - Themes, colors, and layout options&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Fast&lt;/strong&gt; - Written in Rust&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;setup&#34;&gt;Setup &lt;a href=&#34;#setup&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Install via package manager:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Via mise (recommended)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mise install delta&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Ubuntu/Debian&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Download .deb from GitHub releases&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Arch Linux&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo pacman -S git-delta&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# macOS&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;brew install git-delta&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;git-integration&#34;&gt;Git Integration &lt;a href=&#34;#git-integration&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Add to &lt;code&gt;~/.gitconfig&lt;/code&gt;:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;core&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;pager&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; delta&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;interactive&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;diffFilter&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; delta --color-only&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;delta&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;features&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; side-by-side line-numbers decorations&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    syntax-theme &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; Dracula&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    plus-style &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;syntax #003800&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    minus-style &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;syntax #3f0001&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;delta &lt;span class=&#34;s2&#34;&gt;&amp;#34;decorations&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    commit-decoration-style &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; bold yellow box ul&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    file-style &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; bold yellow ul&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    file-decoration-style &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; none&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    hunk-header-decoration-style &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; cyan box ul&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;delta &lt;span class=&#34;s2&#34;&gt;&amp;#34;line-numbers&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    line-numbers-left-style &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; cyan&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    line-numbers-right-style &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; cyan&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    line-numbers-minus-style &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;124&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    line-numbers-plus-style &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;28&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;usage&#34;&gt;Usage &lt;a href=&#34;#usage&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Once configured, Delta works automatically:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Any git diff command&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git diff&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git show&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git log -p&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git stash show -p&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;standalone&#34;&gt;Standalone &lt;a href=&#34;#standalone&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;Use Delta with any diff:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;diff -u file1 file2 &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; delta&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;key-bindings-in-less&#34;&gt;Key Bindings (in less) &lt;a href=&#34;#key-bindings-in-less&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Since Delta uses less as the pager:&lt;/p&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;q&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Quit&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Space&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Page down&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;b&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Page up&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;/&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Search&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;n/N&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Next/previous match&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;g&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Go to top&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;G&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Go to bottom&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;themes&#34;&gt;Themes &lt;a href=&#34;#themes&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Delta supports bat themes:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# List available themes&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;delta --list-themes&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Use specific theme&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;delta --syntax-theme&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;OneHalfDark&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;features-options&#34;&gt;Features Options &lt;a href=&#34;#features-options&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Side-by-side vs unified&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;delta --side-by-side&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;delta --no-side-by-side&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Show/hide line numbers&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;delta --line-numbers&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;delta --no-line-numbers&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Navigate with n/N&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;delta --navigate&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;see-also&#34;&gt;See Also &lt;a href=&#34;#see-also&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/git/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;Git Configuration&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;Git configuration with aliases, delta for diffs, and work/personal separation&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/lazygit/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;Lazygit&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;Lazygit - a simple terminal UI for git commands&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card embed-card-external&#34;&gt;&#xA;  &lt;a href=&#34;https://github.com/dandavison/delta&#34; class=&#34;embed-card-link&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-image&#34;&gt;&#xA;      &lt;img src=&#34;https://opengraph.githubassets.com/06ca61f976050db0d8f65c6c003945e879c93aad4d3cf1f1f691a45ab4e4a3c1/dandavison/delta&#34; alt=&#34;&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;GitHub - dandavison/delta: A syntax-highlighting pager for git, diff, grep, and blame output&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;A syntax-highlighting pager for git, diff, grep, and blame output - dandavison/delta&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;GitHub &amp;middot; github.com&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Defaults</title>
    <id>https://dots.waylonwalker.com/defaults/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/defaults/" rel="alternate" type="text/html"></link>
    <summary type="text">My default choices for tools and technologies</summary>
    <content type="html">&lt;p&gt;When I need a tool for a task, these are my default choices.&lt;/p&gt;&#xA;&lt;h2 id=&#34;editor&#34;&gt;Editor &lt;a href=&#34;#editor&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Neovim&lt;/strong&gt; - For everything text-related. See &lt;a href=&#34;/neovim/&#34; class=&#34;wikilink&#34; data-title=&#34;Neovim Configuration&#34; data-description=&#34;Neovim configuration with lazy.nvim for plugin management&#34; data-date=&#34;2026-02-07&#34;&gt;Neovim Configuration&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Fallback: &lt;a href=&#34;/helix/&#34; class=&#34;wikilink&#34; data-title=&#34;Helix Editor&#34; data-description=&#34;Helix - a post-modern modal text editor&#34; data-date=&#34;2026-02-07&#34;&gt;Helix Editor&lt;/a&gt; for quick edits when neovim config is broken.&lt;/p&gt;&#xA;&lt;h2 id=&#34;terminal&#34;&gt;Terminal &lt;a href=&#34;#terminal&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;kitty&lt;/strong&gt; - Primary terminal. See &lt;a href=&#34;/kitty/&#34; class=&#34;wikilink&#34; data-title=&#34;kitty Terminal&#34; data-description=&#34;kitty - a fast, feature-rich, GPU-based terminal emulator&#34; data-date=&#34;2026-02-07&#34;&gt;kitty Terminal&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Fallback: &lt;a href=&#34;/wezterm/&#34; class=&#34;wikilink&#34; data-title=&#34;WezTerm&#34; data-description=&#34;WezTerm - a GPU-accelerated cross-platform terminal emulator&#34; data-date=&#34;2026-02-07&#34;&gt;WezTerm&lt;/a&gt; when I need better cross-platform consistency.&lt;/p&gt;&#xA;&lt;h2 id=&#34;shell&#34;&gt;Shell &lt;a href=&#34;#shell&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;zsh&lt;/strong&gt; - With autosuggestions, syntax highlighting, and starship prompt. See &lt;a href=&#34;/zsh/&#34; class=&#34;wikilink&#34; data-title=&#34;zsh Configuration&#34; data-description=&#34;zsh shell configuration - my primary shell with autosuggestions, syntax highlighting, and custom functions&#34; data-date=&#34;2026-02-07&#34;&gt;zsh Configuration&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;multiplexer&#34;&gt;Multiplexer &lt;a href=&#34;#multiplexer&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;tmux&lt;/strong&gt; - For persistent sessions and popup workflows. See &lt;a href=&#34;/tmux/&#34; class=&#34;wikilink&#34; data-title=&#34;tmux Configuration&#34; data-description=&#34;tmux configuration for persistent terminal sessions with popup windows and session management&#34; data-date=&#34;2026-02-07&#34;&gt;tmux Configuration&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Fallback: &lt;a href=&#34;/zellij/&#34; class=&#34;wikilink&#34; data-title=&#34;Zellij&#34; data-description=&#34;Zellij - a terminal workspace with batteries included&#34; data-date=&#34;2026-02-07&#34;&gt;Zellij&lt;/a&gt; when I want built-in multiplexer without external tool.&lt;/p&gt;&#xA;&lt;h2 id=&#34;version-control&#34;&gt;Version Control &lt;a href=&#34;#version-control&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;git&lt;/strong&gt; - With delta for diffs and gitui for UI. See &lt;a href=&#34;/git/&#34; class=&#34;wikilink&#34; data-title=&#34;Git Configuration&#34; data-description=&#34;Git configuration with aliases, delta for diffs, and work/personal separation&#34; data-date=&#34;2026-02-07&#34;&gt;Git Configuration&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;tool-management&#34;&gt;Tool Management &lt;a href=&#34;#tool-management&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;mise&lt;/strong&gt; - For all language runtimes and dev tools. See &lt;a href=&#34;/mise/&#34; class=&#34;wikilink&#34; data-title=&#34;mise Tool Management&#34; data-description=&#34;mise - the universal version manager for development tools&#34; data-date=&#34;2026-02-07&#34;&gt;mise Tool Management&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Replaced: pyenv, nvm, rbenv, and friends.&lt;/p&gt;&#xA;&lt;h2 id=&#34;fuzzy-finder&#34;&gt;Fuzzy Finder &lt;a href=&#34;#fuzzy-finder&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;fzf&lt;/strong&gt; - Integrated with shell and editor. See &lt;a href=&#34;/fzf/&#34; class=&#34;wikilink&#34; data-title=&#34;fzf&#34; data-description=&#34;fzf - a command-line fuzzy finder&#34; data-date=&#34;2026-02-07&#34;&gt;fzf&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;file-manager&#34;&gt;File Manager &lt;a href=&#34;#file-manager&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;lf&lt;/strong&gt; - Fast terminal file manager. See &lt;a href=&#34;/lf/&#34; class=&#34;wikilink&#34; data-title=&#34;lf&#34; data-description=&#34;lf - a terminal file manager written in Go&#34; data-date=&#34;2026-02-07&#34;&gt;lf&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;yazi&lt;/strong&gt; - Alternative with async I/O. See &lt;a href=&#34;/yazi/&#34; class=&#34;wikilink&#34; data-title=&#34;Yazi&#34; data-description=&#34;Yazi - a terminal file manager&#34; data-date=&#34;2026-02-07&#34;&gt;Yazi&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Fallback: Standard shell commands for simple operations.&lt;/p&gt;&#xA;&lt;h2 id=&#34;window-manager&#34;&gt;Window Manager &lt;a href=&#34;#window-manager&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Hyprland&lt;/strong&gt; - Wayland compositor on main machine. See &lt;a href=&#34;/hyprland/&#34; class=&#34;wikilink&#34; data-title=&#34;Hyprland Window Manager&#34; data-description=&#34;Hyprland - a dynamic tiling Wayland compositor&#34; data-date=&#34;2026-02-07&#34;&gt;Hyprland Window Manager&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Fallback: &lt;a href=&#34;/awesome/&#34; class=&#34;wikilink&#34; data-title=&#34;Awesome Window Manager&#34; data-description=&#34;Awesome WM - a highly configurable X11 window manager&#34; data-date=&#34;2026-02-07&#34;&gt;Awesome Window Manager&lt;/a&gt; when I need X11.&lt;/p&gt;&#xA;&lt;h2 id=&#34;browser&#34;&gt;Browser &lt;a href=&#34;#browser&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Brave&lt;/strong&gt; - Primary browser with good privacy defaults.&lt;/p&gt;&#xA;&lt;p&gt;Fallback: Firefox for testing and sites that break on Brave.&lt;/p&gt;&#xA;&lt;h2 id=&#34;search&#34;&gt;Search &lt;a href=&#34;#search&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;ripgrep (rg)&lt;/strong&gt; - For code search&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;fd&lt;/strong&gt; - For file finding&lt;/p&gt;&#xA;&lt;p&gt;Both integrated with &lt;a href=&#34;/fzf/&#34; class=&#34;wikilink&#34; data-title=&#34;fzf&#34; data-description=&#34;fzf - a command-line fuzzy finder&#34; data-date=&#34;2026-02-07&#34;&gt;fzf&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;notes&#34;&gt;Notes &lt;a href=&#34;#notes&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Plain markdown files in git repos.&lt;/p&gt;&#xA;&lt;p&gt;Todo: &lt;a href=&#34;/tmux/&#34; class=&#34;wikilink&#34; data-title=&#34;tmux Configuration&#34; data-description=&#34;tmux configuration for persistent terminal sessions with popup windows and session management&#34; data-date=&#34;2026-02-07&#34;&gt;tmux Configuration&lt;/a&gt; todo session with backlog/doing/done files.&lt;/p&gt;&#xA;&lt;h2 id=&#34;communication&#34;&gt;Communication &lt;a href=&#34;#communication&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Email&lt;/strong&gt;: Fastmail&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Chat&lt;/strong&gt;: Signal, occasionally Discord&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Video&lt;/strong&gt;: Jitsi, Zoom when required&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;operating-system&#34;&gt;Operating System &lt;a href=&#34;#operating-system&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Arch Linux&lt;/strong&gt; - Main development machine&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Ubuntu&lt;/strong&gt; - For servers and containers&lt;/p&gt;&#xA;&lt;h2 id=&#34;why-defaults-matter&#34;&gt;Why Defaults Matter &lt;a href=&#34;#why-defaults-matter&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Having defaults reduces decision fatigue. When I reach for a tool, I already know what to use. This lets me focus on the actual problem instead of evaluating options.&lt;/p&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/uses/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;Uses&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;Hardware and software I use daily&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Colophon</title>
    <id>https://dots.waylonwalker.com/colophon/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/colophon/" rel="alternate" type="text/html"></link>
    <summary type="text">How this site is built - colophon</summary>
    <content type="html">&lt;p&gt;This site is built with modern, open-source tools. Here is what powers it.&lt;/p&gt;&#xA;&lt;h2 id=&#34;site-generator&#34;&gt;Site Generator &lt;a href=&#34;#site-generator&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;&lt;a href=&#34;https://markata.dev/&#34;&gt;markata&lt;/a&gt;&lt;/strong&gt; - A Python-based static site generator that processes markdown files with customizable hooks and plugins.&lt;/p&gt;&#xA;&lt;h2 id=&#34;hosting&#34;&gt;Hosting &lt;a href=&#34;#hosting&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Static files served via &lt;a href=&#34;https://pages.cloudflare.com/&#34;&gt;Cloudflare Pages&lt;/a&gt; or similar CDN-based hosting.&lt;/p&gt;&#xA;&lt;h2 id=&#34;styling&#34;&gt;Styling &lt;a href=&#34;#styling&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Custom CSS with a focus on readability and clean typography. No heavy frameworks - just semantic HTML and minimal styling.&lt;/p&gt;&#xA;&lt;h2 id=&#34;content-format&#34;&gt;Content Format &lt;a href=&#34;#content-format&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;All content is written in Markdown with YAML frontmatter:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nn&#34;&gt;---&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;date&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;2026-02-07&amp;#39;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;description&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;Page description&amp;#39;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;published&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;title&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;Page Title&amp;#39;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;nn&#34;&gt;---&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;fonts&#34;&gt;Fonts &lt;a href=&#34;#fonts&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Body: System font stack (native performance)&lt;/li&gt;&#xA;&lt;li&gt;Code: JetBrains Mono or system monospace&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;syntax-highlighting&#34;&gt;Syntax Highlighting &lt;a href=&#34;#syntax-highlighting&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Code blocks are syntax-highlighted at build time using Pygments or similar.&lt;/p&gt;&#xA;&lt;h2 id=&#34;build-process&#34;&gt;Build Process &lt;a href=&#34;#build-process&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Markdown files are processed by markata&lt;/li&gt;&#xA;&lt;li&gt;Wikilinks are converted to internal links&lt;/li&gt;&#xA;&lt;li&gt;Static HTML is generated&lt;/li&gt;&#xA;&lt;li&gt;Deployed to CDN&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;source&#34;&gt;Source &lt;a href=&#34;#source&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;The content and build configuration is available in the devtainer repository:&#xA;&lt;a href=&#34;https://github.com/waylonwalker/devtainer&#34;&gt;github.com/waylonwalker/devtainer&lt;/a&gt;&lt;/p&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Changelog</title>
    <id>https://dots.waylonwalker.com/changelog/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/changelog/" rel="alternate" type="text/html"></link>
    <summary type="text">Recent changes to this site and my dotfiles</summary>
    <content type="html">&lt;p&gt;Recent changes to my dotfiles and this documentation site.&lt;/p&gt;&#xA;&lt;h2 id=&#34;2026-02-07&#34;&gt;2026-02-07 &lt;a href=&#34;#2026-02-07&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;added&#34;&gt;Added &lt;a href=&#34;#added&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Created initial documentation site with markata&lt;/li&gt;&#xA;&lt;li&gt;Added pages for all major tools (zsh, tmux, neovim, mise, git, etc.)&lt;/li&gt;&#xA;&lt;li&gt;Generated keybinding references from actual configs&lt;/li&gt;&#xA;&lt;li&gt;Created llms.txt for AI context&lt;/li&gt;&#xA;&lt;li&gt;Added slash pages: /about, /colophon, /ai, /links, /yep, /nope, /uses, /defaults&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;changed&#34;&gt;Changed &lt;a href=&#34;#changed&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Migrated from scattered README files to structured documentation&lt;/li&gt;&#xA;&lt;li&gt;Updated all internal links to use wikilink format&lt;/li&gt;&#xA;&lt;li&gt;Improved keybinding descriptions to be benefit-focused&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;2025-01&#34;&gt;2025-01 &lt;a href=&#34;#2025-01&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;added-1&#34;&gt;Added &lt;a href=&#34;#added-1&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Integrated atuin for shell history sync&lt;/li&gt;&#xA;&lt;li&gt;Added gitui as primary git TUI&lt;/li&gt;&#xA;&lt;li&gt;Added lf file manager configuration (primary)&lt;/li&gt;&#xA;&lt;li&gt;Added yazi as alternative file manager&lt;/li&gt;&#xA;&lt;li&gt;Switched to mise for tool management&lt;/li&gt;&#xA;&lt;li&gt;Added zellij as alternative to tmux&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;changed-1&#34;&gt;Changed &lt;a href=&#34;#changed-1&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Moved from pyenv/nvm/rbenv to mise&lt;/li&gt;&#xA;&lt;li&gt;Updated neovim config to use lazy.nvim&lt;/li&gt;&#xA;&lt;li&gt;Refactored zsh configuration for faster startup&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;2024-12&#34;&gt;2024-12 &lt;a href=&#34;#2024-12&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;added-2&#34;&gt;Added &lt;a href=&#34;#added-2&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Hyprland configuration for Wayland&lt;/li&gt;&#xA;&lt;li&gt;Waybar configuration&lt;/li&gt;&#xA;&lt;li&gt;Starship prompt configuration&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;changed-2&#34;&gt;Changed &lt;a href=&#34;#changed-2&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Migrated from X11/Awesome WM to Wayland/Hyprland on main machine&lt;/li&gt;&#xA;&lt;li&gt;Updated terminal configuration for Wayland compatibility&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;2024-11&#34;&gt;2024-11 &lt;a href=&#34;#2024-11&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;added-3&#34;&gt;Added &lt;a href=&#34;#added-3&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Delta integration for git diffs&lt;/li&gt;&#xA;&lt;li&gt;Lazygit configuration&lt;/li&gt;&#xA;&lt;li&gt;Custom workspace management scripts&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;fixed&#34;&gt;Fixed &lt;a href=&#34;#fixed&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Fixed tmux clipboard integration for Wayland&lt;/li&gt;&#xA;&lt;li&gt;Resolved neovim LSP configuration issues&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;Older changes are tracked in the repository&#39;s git history.&lt;/p&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Awesome Window Manager</title>
    <id>https://dots.waylonwalker.com/awesome/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/awesome/" rel="alternate" type="text/html"></link>
    <summary type="text">Awesome WM - a highly configurable X11 window manager</summary>
    <content type="html">&lt;p&gt;Awesome is a highly configurable, next-generation window manager for X11 written in Lua.&lt;/p&gt;&#xA;&lt;h2 id=&#34;features&#34;&gt;Features &lt;a href=&#34;#features&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Dynamic tiling&lt;/strong&gt; - Automatic window tiling with multiple layouts&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Tag-based workspaces&lt;/strong&gt; - Up to 9 virtual tags per screen&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Lua configuration&lt;/strong&gt; - Fully programmable in Lua&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Low resource usage&lt;/strong&gt; - Minimal memory and CPU footprint&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Extensible&lt;/strong&gt; - Widgets, menus, and themes via Lua&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;setup&#34;&gt;Setup &lt;a href=&#34;#setup&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Install via package manager:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Ubuntu/Debian&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt install awesome&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Arch Linux&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo pacman -S awesome&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Fedora&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo dnf install awesome&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;configuration&#34;&gt;Configuration &lt;a href=&#34;#configuration&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Config file: &lt;code&gt;~/.config/awesome/rc.lua&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;Key sections:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Tags&lt;/strong&gt; - Virtual workspaces&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Layouts&lt;/strong&gt; - How windows are arranged&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Key bindings&lt;/strong&gt; - Keyboard shortcuts&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Rules&lt;/strong&gt; - Window behavior by application&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Widgets&lt;/strong&gt; - Status bar elements&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;default-key-bindings&#34;&gt;Default Key Bindings &lt;a href=&#34;#default-key-bindings&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Awesome uses &lt;code&gt;Mod4&lt;/code&gt; (Windows/Super key) as modifier:&lt;/p&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Mod4+Enter&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Open terminal&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Mod4+r&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Run prompt&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Mod4+Shift+q&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Quit Awesome&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Mod4+Ctrl+r&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Restart Awesome&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Mod4+j/k&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Focus next/previous window&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Mod4+Shift+j/k&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Swap with next/previous window&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Mod4+h/l&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Change master width&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Mod4+Space&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Next layout&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Mod4+Shift+Space&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Previous layout&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Mod4+1-9&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Switch to tag&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Mod4+Shift+1-9&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Move window to tag&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;layouts&#34;&gt;Layouts &lt;a href=&#34;#layouts&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Built-in layouts include:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;tile&lt;/strong&gt; - Master and stack layout&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;tile.left&lt;/strong&gt; - Master on right&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;tile.bottom&lt;/strong&gt; - Master on top&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;tile.top&lt;/strong&gt; - Master on bottom&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;fair&lt;/strong&gt; - Equal window sizes&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;max&lt;/strong&gt; - Fullscreen&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;magnifier&lt;/strong&gt; - Master magnified&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;floating&lt;/strong&gt; - Free-form windows&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;widgets&#34;&gt;Widgets &lt;a href=&#34;#widgets&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Create custom widgets in Lua:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;-- Clock widget&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;mytextclock&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;wibox.widget&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;textclock&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;-- Battery widget&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;battery&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;awful.widget&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;watch&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;s2&#34;&gt;&amp;#34;acpi -b&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;mi&#34;&gt;30&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;kr&#34;&gt;function&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;widget&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;stdout&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;kd&#34;&gt;local&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;status&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;stdout&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;match&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;Battery %d: (%a+), (%d+)%%&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;widget&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;set_text&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34; BAT: &amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;..&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;status&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;..&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34; &amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;kr&#34;&gt;end&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;see-also&#34;&gt;See Also &lt;a href=&#34;#see-also&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/hyprland/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;Hyprland Window Manager&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;Hyprland - a dynamic tiling Wayland compositor&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/polybar/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;Polybar&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;Polybar - a fast and easy-to-use status bar for X11&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card embed-card-external&#34;&gt;&#xA;  &lt;a href=&#34;https://awesomewm.org/doc/&#34; class=&#34;embed-card-link&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;home&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;The awesomewm.org website&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;awesome window manager &amp;middot; awesomewm.org&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Atuin</title>
    <id>https://dots.waylonwalker.com/atuin/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/atuin/" rel="alternate" type="text/html"></link>
    <summary type="text">Atuin - a magical shell history with sync</summary>
    <content type="html">&lt;p&gt;Atuin replaces your existing shell history with a SQLite database and records additional context for better search and sync.&lt;/p&gt;&#xA;&lt;h2 id=&#34;features&#34;&gt;Features &lt;a href=&#34;#features&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;SQLite database&lt;/strong&gt; - Fast, searchable history&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Context&lt;/strong&gt; - Records directory, exit code, duration&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Sync&lt;/strong&gt; - Encrypted sync across machines&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Fuzzy search&lt;/strong&gt; - Find commands easily&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Stats&lt;/strong&gt; - View command usage statistics&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;setup&#34;&gt;Setup &lt;a href=&#34;#setup&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Install via package manager:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Via mise (recommended)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mise install atuin&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Or install script&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl --proto &lt;span class=&#34;s1&#34;&gt;&amp;#39;=https&amp;#39;&lt;/span&gt; --tlsv1.2 -sSf https://setup.atuin.sh &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; sh&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Arch Linux&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo pacman -S atuin&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# macOS&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;brew install atuin&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;shell-integration&#34;&gt;Shell Integration &lt;a href=&#34;#shell-integration&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Add to &lt;code&gt;~/.zshrc&lt;/code&gt;:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;eval&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;atuin init zsh&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;For bash, add to &lt;code&gt;~/.bashrc&lt;/code&gt;:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;eval&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;atuin init bash&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;key-bindings&#34;&gt;Key Bindings &lt;a href=&#34;#key-bindings&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Action&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Ctrl+R&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Open Atuin history search&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Up&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Search history by prefix&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Down&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Navigate results&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Enter&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Execute command&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Tab&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Edit command&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;code&gt;Alt+Enter&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Execute and keep open&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;search&#34;&gt;Search &lt;a href=&#34;#search&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Atuin provides powerful search:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Fuzzy search&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;atuin search --interactive&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Search by directory&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;atuin search --cwd /path/to/project&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Search by exit code&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;atuin search --exit &lt;span class=&#34;m&#34;&gt;0&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Search by time range&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;atuin search --after &lt;span class=&#34;s2&#34;&gt;&amp;#34;2024-01-01&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;sync&#34;&gt;Sync &lt;a href=&#34;#sync&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Sync history across machines:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Register account&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;atuin register -u username -e email@example.com -p password&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Login&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;atuin login -u username -p password&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Sync&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;atuin sync&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;stats&#34;&gt;Stats &lt;a href=&#34;#stats&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;View command statistics:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Overall stats&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;atuin stats&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Stats for specific command&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;atuin stats --cmd git&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Daily stats&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;atuin stats -d&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;configuration&#34;&gt;Configuration &lt;a href=&#34;#configuration&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Config file: &lt;code&gt;~/.config/atuin/config.toml&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;Example:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;sync_address&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;https://api.atuin.sh&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;sync_frequency&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;10m&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;search_mode&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;fuzzy&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;style&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;compact&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;inline_height&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;10&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;show_preview&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;see-also&#34;&gt;See Also &lt;a href=&#34;#see-also&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/zsh/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;zsh Configuration&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;zsh shell configuration - my primary shell with autosuggestions, syntax highlighting, and custom functions&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;embed-card embed-card-external&#34;&gt;&#xA;  &lt;a href=&#34;https://docs.atuin.sh/&#34; class=&#34;embed-card-link&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;Redirecting...&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;docs.atuin.sh&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>AI</title>
    <id>https://dots.waylonwalker.com/ai/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/ai/" rel="alternate" type="text/html"></link>
    <summary type="text">How I use AI tools in my workflow</summary>
    <content type="html">&lt;p&gt;The content on this site is primarily AI-generated, but it documents dotfiles I&#39;ve spent over a decade hand-curating. I&#39;ve always wanted to create this documentation site but never took the time until AI made it possible.&lt;/p&gt;&#xA;&lt;h2 id=&#34;my-approach&#34;&gt;My Approach &lt;a href=&#34;#my-approach&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;AI as a multiplier, not a replacement.&lt;/strong&gt; These dotfiles represent years of careful tuning and personal preference. AI helps me document them, but the configurations themselves are the result of a decade of refinement.&lt;/p&gt;&#xA;&lt;h2 id=&#34;tools-i-use&#34;&gt;Tools I Use &lt;a href=&#34;#tools-i-use&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;code-assistants&#34;&gt;Code Assistants &lt;a href=&#34;#code-assistants&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;opencode&lt;/strong&gt; - AI agent in my terminal for development tasks&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;GitHub Copilot&lt;/strong&gt; - Inline code suggestions in my editor&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;ChatGPT&lt;/strong&gt; - For brainstorming, debugging, and research&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;writing&#34;&gt;Writing &lt;a href=&#34;#writing&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;AI assistance&lt;/strong&gt; - For generating documentation from my configs&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Grammar/spell check&lt;/strong&gt; - AI-enhanced proofreading&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;image-generation&#34;&gt;Image Generation &lt;a href=&#34;#image-generation&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Occasionally for diagrams and illustrations when needed&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;principles&#34;&gt;Principles &lt;a href=&#34;#principles&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;Hand-curated configs&lt;/strong&gt; - The dotfiles are mine, refined over 10+ years&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;AI for documentation&lt;/strong&gt; - AI helps explain and organize what I&#39;ve built&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Review all AI output&lt;/strong&gt; - I verify everything before publishing&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Use AI for tedious tasks&lt;/strong&gt; - Documentation, formatting, and organization&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;on-this-site&#34;&gt;On This Site &lt;a href=&#34;#on-this-site&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Most content on this site is AI-generated:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Documentation written from my configuration files&lt;/li&gt;&#xA;&lt;li&gt;Keybinding references extracted from my configs&lt;/li&gt;&#xA;&lt;li&gt;Explanations of how tools work together&lt;/li&gt;&#xA;&lt;li&gt;Organization and structure of the site&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;All content is based on my actual dotfiles and reviewed by me before publishing.&lt;/p&gt;&#xA;&lt;h2 id=&#34;ai-and-my-dotfiles&#34;&gt;AI and My Dotfiles &lt;a href=&#34;#ai-and-my-dotfiles&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;AI now heavily helps me:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Create&lt;/strong&gt; documentation I never had time to write&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Debug&lt;/strong&gt; configuration issues faster&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Develop&lt;/strong&gt; new features and improvements&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Organize&lt;/strong&gt; years of accumulated configuration&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Without AI assistance, this site would not exist. The configurations themselves are the product of years of personal refinement, but the documentation that makes them accessible is AI-enabled.&lt;/p&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/defaults/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;Defaults&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;My default choices for tools and technologies&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>About</title>
    <id>https://dots.waylonwalker.com/about/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/about/" rel="alternate" type="text/html"></link>
    <summary type="text">About Waylon Walker and this site</summary>
    <content type="html">&lt;p&gt;I am Waylon Walker, a software developer who spends way too much time optimizing my development environment. This site documents my dotfiles, tools, and workflows.&lt;/p&gt;&#xA;&lt;h2 id=&#34;what-i-do&#34;&gt;What I Do &lt;a href=&#34;#what-i-do&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;I build software, write about my setups, and share what I learn along the way. Most of my work involves Python, Kubernetes, and cloud infrastructure, but I&#39;m always exploring new tools and techniques.&lt;/p&gt;&#xA;&lt;h2 id=&#34;this-site&#34;&gt;This Site &lt;a href=&#34;#this-site&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;This documentation site is built with &lt;a href=&#34;https://markata.dev/&#34;&gt;markata&lt;/a&gt; and serves as a living reference for my dotfiles. It includes:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Tool documentation and setup guides&lt;/li&gt;&#xA;&lt;li&gt;Keybinding references for keyboard-driven workflows&lt;/li&gt;&#xA;&lt;li&gt;Configuration examples and explanations&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;connect&#34;&gt;Connect &lt;a href=&#34;#connect&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;GitHub: &lt;a href=&#34;https://github.com/waylonwalker&#34;&gt;@waylonwalker&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Website: &lt;a href=&#34;https://waylonwalker.com&#34;&gt;waylonwalker.com&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Repository: &lt;a href=&#34;https://github.com/waylonwalker/devtainer&#34;&gt;github.com/waylonwalker/devtainer&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;colophon&#34;&gt;Colophon &lt;a href=&#34;#colophon&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;See &lt;a href=&#34;/colophon/&#34; class=&#34;wikilink&#34; data-title=&#34;Colophon&#34; data-description=&#34;How this site is built - colophon&#34; data-date=&#34;2026-02-07&#34;&gt;Colophon&lt;/a&gt; for details about how this site is built.&lt;/p&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Waylon Walker</title>
    <id>https://dots.waylonwalker.com/authors/waylon/</id>
    <link href="https://dots.waylonwalker.com/authors/waylon/" rel="alternate" type="text/html"></link>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Authors</title>
    <id>https://dots.waylonwalker.com/authors/</id>
    <link href="https://dots.waylonwalker.com/authors/" rel="alternate" type="text/html"></link>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Posts tagged: atuin</title>
    <id>https://dots.waylonwalker.com/tags/atuin/</id>
    <link href="https://dots.waylonwalker.com/tags/atuin/" rel="alternate" type="text/html"></link>
    <summary type="text">All posts with the tag &#34;atuin&#34;</summary>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Posts tagged: awesome</title>
    <id>https://dots.waylonwalker.com/tags/awesome/</id>
    <link href="https://dots.waylonwalker.com/tags/awesome/" rel="alternate" type="text/html"></link>
    <summary type="text">All posts with the tag &#34;awesome&#34;</summary>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Posts tagged: client</title>
    <id>https://dots.waylonwalker.com/tags/client/</id>
    <link href="https://dots.waylonwalker.com/tags/client/" rel="alternate" type="text/html"></link>
    <summary type="text">All posts with the tag &#34;client&#34;</summary>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Posts tagged: complete</title>
    <id>https://dots.waylonwalker.com/tags/complete/</id>
    <link href="https://dots.waylonwalker.com/tags/complete/" rel="alternate" type="text/html"></link>
    <summary type="text">All posts with the tag &#34;complete&#34;</summary>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Posts tagged: demo</title>
    <id>https://dots.waylonwalker.com/tags/demo/</id>
    <link href="https://dots.waylonwalker.com/tags/demo/" rel="alternate" type="text/html"></link>
    <summary type="text">All posts with the tag &#34;demo&#34;</summary>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Posts tagged: docker</title>
    <id>https://dots.waylonwalker.com/tags/docker/</id>
    <link href="https://dots.waylonwalker.com/tags/docker/" rel="alternate" type="text/html"></link>
    <summary type="text">All posts with the tag &#34;docker&#34;</summary>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Posts tagged: editing</title>
    <id>https://dots.waylonwalker.com/tags/editing/</id>
    <link href="https://dots.waylonwalker.com/tags/editing/" rel="alternate" type="text/html"></link>
    <summary type="text">All posts with the tag &#34;editing&#34;</summary>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Posts tagged: files</title>
    <id>https://dots.waylonwalker.com/tags/files/</id>
    <link href="https://dots.waylonwalker.com/tags/files/" rel="alternate" type="text/html"></link>
    <summary type="text">All posts with the tag &#34;files&#34;</summary>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Posts tagged: fzf</title>
    <id>https://dots.waylonwalker.com/tags/fzf/</id>
    <link href="https://dots.waylonwalker.com/tags/fzf/" rel="alternate" type="text/html"></link>
    <summary type="text">All posts with the tag &#34;fzf&#34;</summary>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Posts tagged: git</title>
    <id>https://dots.waylonwalker.com/tags/git/</id>
    <link href="https://dots.waylonwalker.com/tags/git/" rel="alternate" type="text/html"></link>
    <summary type="text">All posts with the tag &#34;git&#34;</summary>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Posts tagged: gitui</title>
    <id>https://dots.waylonwalker.com/tags/gitui/</id>
    <link href="https://dots.waylonwalker.com/tags/gitui/" rel="alternate" type="text/html"></link>
    <summary type="text">All posts with the tag &#34;gitui&#34;</summary>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Posts tagged: keybindings</title>
    <id>https://dots.waylonwalker.com/tags/keybindings/</id>
    <link href="https://dots.waylonwalker.com/tags/keybindings/" rel="alternate" type="text/html"></link>
    <summary type="text">All posts with the tag &#34;keybindings&#34;</summary>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Posts tagged: layout</title>
    <id>https://dots.waylonwalker.com/tags/layout/</id>
    <link href="https://dots.waylonwalker.com/tags/layout/" rel="alternate" type="text/html"></link>
    <summary type="text">All posts with the tag &#34;layout&#34;</summary>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Posts tagged: lazydocker</title>
    <id>https://dots.waylonwalker.com/tags/lazydocker/</id>
    <link href="https://dots.waylonwalker.com/tags/lazydocker/" rel="alternate" type="text/html"></link>
    <summary type="text">All posts with the tag &#34;lazydocker&#34;</summary>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Posts tagged: lazygit</title>
    <id>https://dots.waylonwalker.com/tags/lazygit/</id>
    <link href="https://dots.waylonwalker.com/tags/lazygit/" rel="alternate" type="text/html"></link>
    <summary type="text">All posts with the tag &#34;lazygit&#34;</summary>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Posts tagged: lf</title>
    <id>https://dots.waylonwalker.com/tags/lf/</id>
    <link href="https://dots.waylonwalker.com/tags/lf/" rel="alternate" type="text/html"></link>
    <summary type="text">All posts with the tag &#34;lf&#34;</summary>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Posts tagged: lsp</title>
    <id>https://dots.waylonwalker.com/tags/lsp/</id>
    <link href="https://dots.waylonwalker.com/tags/lsp/" rel="alternate" type="text/html"></link>
    <summary type="text">All posts with the tag &#34;lsp&#34;</summary>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Posts tagged: media</title>
    <id>https://dots.waylonwalker.com/tags/media/</id>
    <link href="https://dots.waylonwalker.com/tags/media/" rel="alternate" type="text/html"></link>
    <summary type="text">All posts with the tag &#34;media&#34;</summary>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Posts tagged: navigation</title>
    <id>https://dots.waylonwalker.com/tags/navigation/</id>
    <link href="https://dots.waylonwalker.com/tags/navigation/" rel="alternate" type="text/html"></link>
    <summary type="text">All posts with the tag &#34;navigation&#34;</summary>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Posts tagged: neovim</title>
    <id>https://dots.waylonwalker.com/tags/neovim/</id>
    <link href="https://dots.waylonwalker.com/tags/neovim/" rel="alternate" type="text/html"></link>
    <summary type="text">All posts with the tag &#34;neovim&#34;</summary>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Posts tagged: other</title>
    <id>https://dots.waylonwalker.com/tags/other/</id>
    <link href="https://dots.waylonwalker.com/tags/other/" rel="alternate" type="text/html"></link>
    <summary type="text">All posts with the tag &#34;other&#34;</summary>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Posts tagged: reference</title>
    <id>https://dots.waylonwalker.com/tags/reference/</id>
    <link href="https://dots.waylonwalker.com/tags/reference/" rel="alternate" type="text/html"></link>
    <summary type="text">All posts with the tag &#34;reference&#34;</summary>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Posts tagged: search</title>
    <id>https://dots.waylonwalker.com/tags/search/</id>
    <link href="https://dots.waylonwalker.com/tags/search/" rel="alternate" type="text/html"></link>
    <summary type="text">All posts with the tag &#34;search&#34;</summary>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Posts tagged: slash</title>
    <id>https://dots.waylonwalker.com/tags/slash/</id>
    <link href="https://dots.waylonwalker.com/tags/slash/" rel="alternate" type="text/html"></link>
    <summary type="text">All posts with the tag &#34;slash&#34;</summary>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Posts tagged: tag</title>
    <id>https://dots.waylonwalker.com/tags/tag/</id>
    <link href="https://dots.waylonwalker.com/tags/tag/" rel="alternate" type="text/html"></link>
    <summary type="text">All posts with the tag &#34;tag&#34;</summary>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Posts tagged: telescope</title>
    <id>https://dots.waylonwalker.com/tags/telescope/</id>
    <link href="https://dots.waylonwalker.com/tags/telescope/" rel="alternate" type="text/html"></link>
    <summary type="text">All posts with the tag &#34;telescope&#34;</summary>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Posts tagged: terminal</title>
    <id>https://dots.waylonwalker.com/tags/terminal/</id>
    <link href="https://dots.waylonwalker.com/tags/terminal/" rel="alternate" type="text/html"></link>
    <summary type="text">All posts with the tag &#34;terminal&#34;</summary>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Posts tagged: tmux</title>
    <id>https://dots.waylonwalker.com/tags/tmux/</id>
    <link href="https://dots.waylonwalker.com/tags/tmux/" rel="alternate" type="text/html"></link>
    <summary type="text">All posts with the tag &#34;tmux&#34;</summary>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Posts tagged: vhs</title>
    <id>https://dots.waylonwalker.com/tags/vhs/</id>
    <link href="https://dots.waylonwalker.com/tags/vhs/" rel="alternate" type="text/html"></link>
    <summary type="text">All posts with the tag &#34;vhs&#34;</summary>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Posts tagged: window-management</title>
    <id>https://dots.waylonwalker.com/tags/window-management/</id>
    <link href="https://dots.waylonwalker.com/tags/window-management/" rel="alternate" type="text/html"></link>
    <summary type="text">All posts with the tag &#34;window-management&#34;</summary>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
</feed>