<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="/atom.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Posts tagged: tmux</title>
  <id>https://waylonwalker.com/tags/tmux/atom.xml</id>
  <updated>2022-12-04T13:25:54Z</updated>
  <subtitle>All posts with the tag &#34;tmux&#34;</subtitle>
  <link href="https://waylonwalker.com/tags/tmux/" rel="alternate" type="text/html"></link>
  <link href="https://waylonwalker.com/tags/tmux/atom.xml" rel="self" type="application/atom+xml"></link>
  <author>
    <name>Waylon Walker</name>
  </author>
  <generator uri="https://github.com/WaylonWalker/markata-go">markata-go</generator>
  <entry>
    <title>tmux push/pull panes</title>
    <id>https://waylonwalker.com/tmux-push-pull-panes/</id>
    <updated>2022-12-04T13:25:54Z</updated>
    <published>2022-12-04T13:25:54Z</published>
    <link href="https://waylonwalker.com/tmux-push-pull-panes/" rel="alternate" type="text/html"></link>
    <summary type="text">Moving panes between tmux sessions is something that makes tmux a very flexible and powerful tool. I don&#39;t need this feature very often, but it comes in...</summary>
    <content type="html">&lt;p&gt;Moving panes between tmux sessions is something that makes tmux a very flexible&#xA;and powerful tool.  I don’t need this feature very often, but it comes in&#xA;clutch when you need it.&lt;/p&gt;&#xA;&lt;h2 id=&#34;pull-a-pane-from-any-other-session&#34;&gt;Pull a pane from any other session &lt;a href=&#34;#pull-a-pane-from-any-other-session&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Using &lt;code&gt;choose-window&lt;/code&gt; I was able to come up with a way to select any pane&#xA;withing any other session and join it into my current session.&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;# Choose a pane to join in horizontally&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; f choose-window -Z &lt;span class=&#34;s1&#34;&gt;&amp;#39;join-pane -h -s &amp;#34;%%&amp;#34;&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;pushpull-from-scratch&#34;&gt;Push/Pull from scratch &lt;a href=&#34;#pushpull-from-scratch&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;I’ve long had this one in my tmux config, I always have a “scratch” session&#xA;that I’m running, I often use for looking at things like &lt;code&gt;k9s&lt;/code&gt; accross repos&#xA;within a popup.&lt;/p&gt;&#xA;&lt;p&gt;This use case puts a pane into the scratch session, then pulls it back out.  I&#xA;will use this to move a pane between sessions in the rare cases I need to do&#xA;this.&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;# push the active pane into the scratch session horizonally&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; -n M-f join-pane -ht scratch&#xA;&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;# pull the last active pane from the scratch session horizonally into this 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;&lt;span class=&#34;nb&#34;&gt;bind&lt;/span&gt; -n M-F join-pane -hs scratch&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;</content>
    <author>
      <name>Waylon Walker</name>
      <email>hello@waylonwalker.com</email>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>How I Present Markdown Slides from the Terminal</title>
    <id>https://waylonwalker.com/lookatme-slides/</id>
    <updated>2022-03-21T16:13:39Z</updated>
    <published>2022-03-21T16:13:39Z</published>
    <link href="https://waylonwalker.com/lookatme-slides/" rel="alternate" type="text/html"></link>
    <summary type="text">I love the freedom of writing in markdown. It allows me to write content from the comfort of my editor with very little focus on page style. It turns out...</summary>
    <content type="html">&lt;p&gt;I love the freedom of writing in markdown.  It allows me to write content from&#xA;the comfort of my editor with very little focus on page style.  It turns out&#xA;that markdown is also a fantastic tool for creating slides.&lt;/p&gt;&#xA;&lt;h2 id=&#34;present-from-the-terminal&#34;&gt;Present from the terminal &lt;a href=&#34;#present-from-the-terminal&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;I will most often just present right from the terminal using&#xA;&lt;a href=&#34;https://lookatme.readthedocs.io/en/latest/index.html&#34; style=&#34;--favicon-url: url(&amp;#39;/assets/markata/link-avatars/lookatme.readthedocs.io.ico&amp;#39;);&#34; data-favicon=&#34;/assets/markata/link-avatars/lookatme.readthedocs.io.ico&#34; class=&#34;has-avatar  has-avatar-before&#34;&gt;lookatme&lt;/a&gt;.  Presenting&#xA;from the terminal lets me see the results quick right from where I am editing.&#xA;It also allows me to pop into other terminal applications quickly.&lt;/p&gt;&#xA;&lt;h2 id=&#34;revealjs&#34;&gt;reveal.js &lt;a href=&#34;#revealjs&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;I sometimes also use reveal.js, but that’s for another post.  It is handy that&#xA;it lives in the browser and is easier to share.&lt;/p&gt;&#xA;&lt;h2 id=&#34;new-slides&#34;&gt;New Slides &lt;a href=&#34;#new-slides&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;I leverage auto slides when I write my slides in markdown.  The largest&#xA;heading, usually an h2 for me, becomes the new slide marker.  Otherwise my&#xA;process is not much different, It just becomes a shorter writing style.&lt;/p&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;p&gt;lookatme is a python library that is available on pypi, you can install it with&#xA;the pip command.&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;python -m pip install lookatme&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Since it’s a command line application it works great with pipx.  This prevents&#xA;the need to manage virtual environments yourself or ending up with packages&#xA;clashing in your system python environment.&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;pipx install lookatme&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;from-my-terminal&#34;&gt;From my terminal &lt;a href=&#34;#from-my-terminal&#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;lookatme &lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;filepath&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;I just run it with pipx.&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;pipx run &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; --spec git+https://github.com/waylonwalker/lookatme &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; lookatme &lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;filepath&lt;span class=&#34;o&#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; --live-reload &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; --style gruvbox-dark&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;blockquote&gt;&#xA;&lt;p&gt;Note, I use a custom fork of lookatme.  It’s schema validation did not like&#xA;the date format of my blog posts, so I have a one line fix built into my&#xA;fork that is pretty specific to me.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;from-neovim&#34;&gt;From Neovim &lt;a href=&#34;#from-neovim&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;em&gt;most often what I do&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;From Neovim I use a plugin I created for sending out commands to tmux called&#xA;&lt;a href=&#34;https://github.com/WaylonWalker/Telegraph.nvim&#34; style=&#34;--favicon-url: url(&amp;#39;/assets/markata/link-avatars/github.com.ico&amp;#39;);&#34; data-favicon=&#34;/assets/markata/link-avatars/github.com.ico&#34; class=&#34;has-avatar  has-avatar-before&#34;&gt;telegraph&lt;/a&gt;.  This sends the&#xA;above command to a new session that I can bounce between quickly.&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;nnoremap&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;leader&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;leader&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;s&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;cmd&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;lua&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;require&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;telegraph&amp;#39;&lt;/span&gt;.&lt;span class=&#34;nx&#34;&gt;telegraph&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;{&lt;span class=&#34;nx&#34;&gt;cmd&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;pipx run --spec git+https://github.com/waylonwalker/lookatme lookatme {filepath} --live-reload --style gruvbox-dark&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;how&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;tmux&amp;#39;&lt;/span&gt;}&lt;span class=&#34;p&#34;&gt;)&amp;lt;&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;CR&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;</content>
    <author>
      <name>Waylon Walker</name>
      <email>hello@waylonwalker.com</email>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Open Files with Nvim Remote</title>
    <id>https://waylonwalker.com/nvr-open-files/</id>
    <updated>2022-03-06T16:22:49Z</updated>
    <published>2022-03-06T16:22:49Z</published>
    <link href="https://waylonwalker.com/nvr-open-files/" rel="alternate" type="text/html"></link>
    <summary type="text">I recently found a really great plugin by mhinz to open files in neovim from a different tmux split, without touching neovim at all.</summary>
    <content type="html">&lt;p&gt;I recently found a really great &lt;a href=&#34;https://github.com/mhinz/neovim-remote&#34; style=&#34;--favicon-url: url(&amp;#39;/assets/markata/link-avatars/github.com.ico&amp;#39;);&#34; data-favicon=&#34;/assets/markata/link-avatars/github.com.ico&#34; class=&#34;has-avatar  has-avatar-before&#34;&gt;plugin&lt;/a&gt; by&#xA;&lt;a href=&#34;https://github.com/mhinz&#34; style=&#34;--favicon-url: url(&amp;#39;/assets/markata/link-avatars/github.com.ico&amp;#39;);&#34; data-favicon=&#34;/assets/markata/link-avatars/github.com.ico&#34; class=&#34;has-avatar  has-avatar-before&#34;&gt;mhinz&lt;/a&gt; to open files in neovim from a&#xA;different tmux split, without touching neovim at all.&lt;/p&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;p&gt;&lt;a href=&#34;https://github.com/mhinz/neovim-remote&#34; style=&#34;--favicon-url: url(&amp;#39;/assets/markata/link-avatars/github.com.ico&amp;#39;);&#34; data-favicon=&#34;/assets/markata/link-avatars/github.com.ico&#34; class=&#34;has-avatar  has-avatar-before&#34;&gt;neovim-remote&lt;/a&gt; is not a neovim&#xA;plugin at all, it’s a python cli that you can install with pip.  Unlike&#xA;the repo suggests, I use pipx to install &lt;code&gt;nvr&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;pipx install neovim-remote&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;how-i-use-it&#34;&gt;How I use it &lt;a href=&#34;#how-i-use-it&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;I have this added to my &lt;code&gt;.envrc&lt;/code&gt; that is in every one of my projects.&#xA;This will tie a neovim session to that directory, and all directories&#xA;under 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;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;NVIM_LISTEN_ADDRESS&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;/tmp/nvim-&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;basename &lt;span class=&#34;nv&#34;&gt;$PWD&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;blockquote&gt;&#xA;&lt;p&gt;In my workflow I open a tmux session for each project, so this&#xA;essentially ties a neovim session to a tmux session.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h3 id=&#34;open-neovim&#34;&gt;Open neovim &lt;a href=&#34;#open-neovim&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;First open neovim, but with the &lt;code&gt;nvr&lt;/code&gt; command.  This will open neovim,&#xA;and look pretty much the same as always.&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;nvr&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;If you try to run &lt;code&gt;nvr&lt;/code&gt; again in another shell nothing will happen as&#xA;its already runnin under that address, but if you give it a filename it&#xA;will open the file in the first instance of neovim that you opened.&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;nvr readme.md&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;links&#34;&gt;Links &lt;a href=&#34;#links&#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/mhinz/neovim-remote&#34; style=&#34;--favicon-url: url(&amp;#39;/assets/markata/link-avatars/github.com.ico&amp;#39;);&#34; data-favicon=&#34;/assets/markata/link-avatars/github.com.ico&#34; class=&#34;has-avatar  has-avatar-before&#34;&gt;GitHub&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <email>hello@waylonwalker.com</email>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Textual Popup Hack</title>
    <id>https://waylonwalker.com/textual-popup-hack/</id>
    <updated>2022-02-26T15:41:12Z</updated>
    <published>2022-02-26T15:41:12Z</published>
    <link href="https://waylonwalker.com/textual-popup-hack/" rel="alternate" type="text/html"></link>
    <summary type="text">As I am toying around with textual, I am wanting some popup user input to take over. Textual is still pretty new and likely to change quite significantly, so...</summary>
    <content type="html">&lt;p&gt;As I am toying around with textual, I am wanting some popup user input&#xA;to take over.  Textual is still pretty new and likely to change quite&#xA;significantly, so I don’t want to overdo the work I put into it, So for&#xA;now on my personal tuis I am going to shell out to tmux.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-problem&#34;&gt;The Problem &lt;a href=&#34;#the-problem&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;The main issue is that when you are in a textual app, it kinda owns the&#xA;input.  So if you try to run another python function that calls for&#xA;&lt;code&gt;input&lt;/code&gt; it just cant get there.  There is a&#xA;&lt;a href=&#34;https://github.com/sirfuzzalot/textual-inputs&#34; style=&#34;--favicon-url: url(&amp;#39;/assets/markata/link-avatars/github.com.ico&amp;#39;);&#34; data-favicon=&#34;/assets/markata/link-avatars/github.com.ico&#34; class=&#34;has-avatar  has-avatar-before&#34;&gt;textual-inputs&lt;/a&gt; library&#xA;that covers this, and it might work really well for some use cases, but&#xA;many of my use cases have been for things that are pre-built like&#xA;copier, and I am trying to throw something together quick.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;textual is still very beta&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Part of this comes down to the fact that textual is still very beta and&#xA;likely to change a lot, so all of the work I have done with it is for&#xA;quick and dirty, or fun side projects.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-solution&#34;&gt;The Solution &lt;a href=&#34;#the-solution&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;So the solution that was easiest for me… shell out to a tmux popup.&#xA;The application I am working on wants to create new documents using&#xA;copier templates.  copier has a fantastic cli that walks throught he&#xA;template variables and asks the user to fill them in, so I just shell&#xA;out to that with &lt;code&gt;Popen&lt;/code&gt;.  Make sure that you wait for this process to&#xA;finish otherwise there will be bit of jank in your textual app.&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;async&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;def&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;action_new_post&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;bp&#34;&gt;self&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;None&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;proc&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;subprocess&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Popen&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;s1&#34;&gt;&amp;#39;tmux popup &amp;#34;copier copy plugins/todo-template tasks&amp;#34;&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;shell&lt;/span&gt;&lt;span class=&#34;o&#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;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;proc&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;wait&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;example&#34;&gt;example &lt;a href=&#34;#example&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Here is what the running todo application looks like with the copier&#xA;popup over it.&lt;/p&gt;&#xA;&lt;figure&gt;&#xA;&lt;a href=&#34;https://images.waylonwalker.com/textual-popup-hack.png&#34; class=&#34;glightbox-link&#34;&gt;&lt;img class=&#34;glightbox&#34; src=&#34;https://images.waylonwalker.com/textual-popup-hack.png&#34; alt=&#34;example of the popup running over textual&#34;/ data-glightbox=&#34;description: example of the popup running over textual&#34;&gt;&lt;/a&gt;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;&lt;a href=&#34;/tmux-popups/&#34; class=&#34;wikilink&#34; data-title=&#34;tmux popups&#34; data-description=&#34;https://youtu.be/2I8fB28zfB4&#34; data-date=&#34;2021-07-14&#34; data-preview=&#34;https://youtu.be/2I8fB28zfB4&#34;&gt;tmux popups&lt;/a&gt;&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;a bit more on tmux-popus [here] &lt;a href=&#34;https://waylonwalker.com/tmux-popups/&#34;&gt;https://waylonwalker.com/tmux-popups/&lt;/a&gt;)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;links&#34;&gt;Links &lt;a href=&#34;#links&#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/Textualize/textual/&#34; style=&#34;--favicon-url: url(&amp;#39;/assets/markata/link-avatars/github.com.ico&amp;#39;);&#34; data-favicon=&#34;/assets/markata/link-avatars/github.com.ico&#34; class=&#34;has-avatar  has-avatar-before&#34;&gt;textual repo&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/sirfuzzalot/textual-inputs&#34; style=&#34;--favicon-url: url(&amp;#39;/assets/markata/link-avatars/github.com.ico&amp;#39;);&#34; data-favicon=&#34;/assets/markata/link-avatars/github.com.ico&#34; class=&#34;has-avatar  has-avatar-before&#34;&gt;textual-inputs repo&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://waylonwalker.com/tmux-popups/&#34;&gt;my article on tmux popups&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <email>hello@waylonwalker.com</email>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>A better copy-mode bind for Tmux</title>
    <id>https://waylonwalker.com/tmux-copy-mode-binding/</id>
    <updated>2022-02-13T17:05:23Z</updated>
    <published>2022-02-13T17:05:23Z</published>
    <link href="https://waylonwalker.com/tmux-copy-mode-binding/" rel="alternate" type="text/html"></link>
    <summary type="text">The default keybinding for copy-mode is one that is just so awkward for me to hit that I end up not using it at all. I was on a call with my buddy Nic this...</summary>
    <content type="html">&lt;p&gt;The default keybinding for copy-mode &lt;code&gt;&amp;lt;prefix&amp;gt;-[&lt;/code&gt; is one that is just so&#xA;awkward for me to hit that I end up not using it at all.  I was on a&#xA;call with my buddy Nic this week and saw him just fluidly jump into&#xA;&lt;code&gt;copy-mode&lt;/code&gt; in an effortless fashion, so I had to ask him for his&#xA;keybinding and it just made sense. Enter, that’s it.  So I have addedt&#xA;his to my &lt;code&gt;~/.tmux.conf&lt;/code&gt; along with one for &lt;code&gt;alt-enter&lt;/code&gt; and have found&#xA;myself using it way more so far.&lt;/p&gt;&#xA;&lt;h2 id=&#34;setting-copy-mode-to-enter&#34;&gt;Setting copy-mode to enter &lt;a href=&#34;#setting-copy-mode-to-enter&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;To do this I just popped open my &lt;code&gt;~/.tmux.conf&lt;/code&gt; and added the following.&#xA;Now I can get to &lt;code&gt;copy-mode&lt;/code&gt; with &lt;code&gt;&amp;lt;prefix&amp;gt;-Enter&lt;/code&gt; which is &lt;code&gt;control-b Enter&lt;/code&gt;, or &lt;code&gt;alt-enter&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; Enter copy-mode&#xA;&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; -n M-Enter copy-mode&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;more-on-copy-mode&#34;&gt;More on copy-mode &lt;a href=&#34;#more-on-copy-mode&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;I have a full video on copy-mode you can find here.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;/tmux-copy-mode/&#34; class=&#34;wikilink&#34; data-title=&#34;tmux copy-mode&#34; data-description=&#34;https://youtu.be/-ypY_-VmBKk&#34; data-date=&#34;2021-07-28&#34; data-preview=&#34;https://youtu.be/-ypY_-VmBKk&#34;&gt;tmux copy-mode&lt;/a&gt;&lt;/p&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <email>hello@waylonwalker.com</email>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Tmux and Vim Clipboard for Ubuntu</title>
    <id>https://waylonwalker.com/ubuntu-terminal-clipboard/</id>
    <updated>2022-01-26T02:50:56Z</updated>
    <published>2022-01-26T02:50:56Z</published>
    <link href="https://waylonwalker.com/ubuntu-terminal-clipboard/" rel="alternate" type="text/html"></link>
    <summary type="text">One of the first things I noticed broken in my terminal based workflow moving from Windows wsl to ubuntu was that my clipboard was all messed up and not...</summary>
    <content type="html">&lt;p&gt;One of the first things I noticed broken in my terminal based workflow moving&#xA;from Windows wsl to ubuntu was that my clipboard was all messed up and not&#xA;working with my terminal apps.  Luckily setting tmux and neovim to work with&#xA;the system clipboard was much easier than it was on windows.&lt;/p&gt;&#xA;&lt;p&gt;First off you need to get &lt;code&gt;xclip&lt;/code&gt; if you don’t already have it provided by your&#xA;distro.  I found it in the apt repositories.  I have used it between Ubuntu&#xA;18.04 and 21.10 and they all work flawlessly for me.&lt;/p&gt;&#xA;&lt;p&gt;I have tmux setup to automatically copy any selection I make to the clipboard&#xA;by setting the following in my &lt;code&gt;~/.tmux.conf&lt;/code&gt;. While I have neovim open I need&#xA;to be in insert mode for this to pick up.&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;# ~/tmux.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;&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;s2&#34;&gt;&amp;#34;xclip -i -f -selection primary | xclip -i -selection clipboard&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;bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel &lt;span class=&#34;s2&#34;&gt;&amp;#34;xclip -selection clipboard -i&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;To get my yanks to go to the system clipboard in neovim, I just added&#xA;unnamedplus to my existing clipboard variable.&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;sr&#34;&gt;/.config/&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;nvim&lt;/span&gt;/&lt;span class=&#34;nx&#34;&gt;init&lt;/span&gt;.&lt;span class=&#34;nx&#34;&gt;vim&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;set&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;clipboard&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;+=&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;unnamedplus&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;If you need to copy something right from the terminal you can use xclip&#xA;directly.  I do this semi-often to send someone a message in chat.&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;cat file.txt &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; clip -sel copy&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;I set up some alias’s for doing this a bit more efficiently, but don’t find&#xA;myself using them very often.  This helps me grab commands from history and&#xA;copy them.&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;alias&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;hclip&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;history | tail -n1 | cut -c 8- | xclip -sel clip&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;alias&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;fclip&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;history -n 1000 | fzf | cut -c 8- | xclip -sel clip&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;alias&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;fclip&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;history -n 1000 | fzf | xclip -sel clip&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;</content>
    <author>
      <name>Waylon Walker</name>
      <email>hello@waylonwalker.com</email>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Tmux hotkey for copier templates</title>
    <id>https://waylonwalker.com/tmux-copier-templates/</id>
    <updated>2022-01-24T02:22:53Z</updated>
    <published>2022-01-24T02:22:53Z</published>
    <link href="https://waylonwalker.com/tmux-copier-templates/" rel="alternate" type="text/html"></link>
    <summary type="text">I have added a hotkey to my copier template setup to quickly access all my templates at any time from tmux. At any point I can hit , thats holding control...</summary>
    <content type="html">&lt;p&gt;I have added a hotkey to my copier template setup to quickly access all my&#xA;templates at any time from tmux.  At any point I can hit &lt;code&gt;&amp;lt;c-b&amp;gt;&amp;lt;c-b&amp;gt;&lt;/code&gt;, thats&#xA;holding control and hitting &lt;code&gt;bb&lt;/code&gt;, and I will get a popup list of all of my&#xA;templates directory names.  Its an fzf list, which means that I can fuzzy&#xA;search through it for the template I want, or arrow key to the one I want if I&#xA;am feeling insane.  I even setup it up so that the preview is a list of the&#xA;files that come with the template in tree view.&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;bind-key c-b popup -E -w 80% -d &lt;span class=&#34;s1&#34;&gt;&amp;#39;#{pane_current_path}&amp;#39;&lt;/span&gt; &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;    pipx run copier copy ~/.copier-templates/`ls ~/.copier-templates |\&#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 --header &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;pwd&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; --preview=&amp;#39;tree ~/.copier-templates/{} |\&#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;    lolcat&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;    &amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;I’ve had this on my systems for a few weeks now and I am constantly using it&#xA;for my &lt;a href=&#34;https://waylonwalker.com/til/&#34;&gt;tils&lt;/a&gt;,&#xA;&lt;a href=&#34;https://waylonwalker.com/archive&#34;&gt;blogs&lt;/a&gt;, and my .envrc file that goes into&#xA;all of my projects to make sure that I have a &lt;a href=&#34;/virtual-environment/&#34; class=&#34;glossary-term&#34; title=&#34;Virtual Environment is term for a sandboxed environment commonly associated with the python programming language. If you are installing any sort of python...&#34;&gt;virtual environment&lt;/a&gt; installed and&#xA;running any time I open it.&lt;/p&gt;&#xA;&lt;figure&gt;&#xA;&lt;a href=&#34;https://images.waylonwalker.com/copier-templates-tmux-popup.png&#34; class=&#34;glightbox-link&#34;&gt;&lt;img class=&#34;glightbox&#34; src=&#34;https://images.waylonwalker.com/copier-templates-tmux-popup.png&#34; alt=&#34;this is what it looks like when I open my copier templates popup&#34;/ data-glightbox=&#34;description: this is what it looks like when I open my copier templates popup&#34;&gt;&lt;/a&gt;&#xA;&lt;/figure&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <email>hello@waylonwalker.com</email>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Tmux Pop size</title>
    <id>https://waylonwalker.com/tmux-pop-size/</id>
    <updated>2022-01-05T17:37:26Z</updated>
    <published>2022-01-05T17:37:26Z</published>
    <link href="https://waylonwalker.com/tmux-pop-size/" rel="alternate" type="text/html"></link>
    <summary type="text">tmux popups can be sized how you like based on the % width of the terminal on creation by using the flags (h, w, x, y) for height, width, and position.</summary>
    <content type="html">&lt;p&gt;tmux popups can be sized how you like based on the % width of the&#xA;terminal on creation by using the flags (h, w, x, y) for height, width,&#xA;and position.&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;# normal popup&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 popup figlet &lt;span class=&#34;s2&#34;&gt;&amp;#34;Hello&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;c1&#34;&gt;# fullscreen popup&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 popup -h 100% -w 100% figlet &lt;span class=&#34;s2&#34;&gt;&amp;#34;Hello&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;c1&#34;&gt;# 75% centered popup&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 popup -h 100% -w 75% figlet &lt;span class=&#34;s2&#34;&gt;&amp;#34;Hello&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;c1&#34;&gt;# 75% popup on left side&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 popup -h 100% -w 75% -x 0% figlet &lt;span class=&#34;s2&#34;&gt;&amp;#34;Hello&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;video autoplay=&#34;&#34; controls=&#34;&#34; loop=&#34;true&#34; muted=&#34;&#34; playsinline=&#34;&#34; width=&#34;100%&#34; class=&#34;rounded-xl border-pink-900 border-2&#34;&gt;&#xA;     &lt;source src=&#34;https://dropper.waylonwalker.com/api/file/c0e80bc5-a03d-40ad-a431-20436b82cf3b.mp4&#34; type=&#34;video/mp4&#34;/&gt;&#xA;     Sorry, your browser doesn&amp;#39;t support embedded videos.&#xA;&lt;/video&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;example running these commands&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <email>hello@waylonwalker.com</email>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>Uses</title>
    <id>https://waylonwalker.com/uses/</id>
    <updated>2021-11-20T10:38:00Z</updated>
    <published>2021-11-20T10:38:00Z</published>
    <link href="https://waylonwalker.com/uses/" rel="alternate" type="text/html"></link>
    <summary type="text">This is a listing of all the things that I use on a daily basis to build data pipelines, lead my team, and build this website.</summary>
    <content type="html">&lt;p&gt;This is a listing of all the things that I use on a daily basis to build data&#xA;pipelines, lead my team, and build this website.&lt;/p&gt;&#xA;&lt;h2 id=&#34;older-editions&#34;&gt;older editions &lt;a href=&#34;#older-editions&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;[[ uses-2021 ]]&lt;/p&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;p&gt;Everything installed on my machines is done through ansible-playbooks.  It’s&#xA;been a long transformation to get here, but its so satisfying to boot a brand&#xA;new system, run a single command a have every single thing cofigured exactly to&#xA;my liking.&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;# GET is available by default on Ubuntu&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;GET waylonwalker.com/bootstrap &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; bash&#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;# For debian based systems without GET 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;sudo apt install curl&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl -F https://waylonwalker.com/bootstrap &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; bash&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;os&#34;&gt;OS &lt;a href=&#34;#os&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;I run Ubuntu, it works well for me without too much fuss.  For me the&#xA;distribution does not really matter too much, I’m more interested in what’s&#xA;inside.&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;I use awesome wm.  Awesome is a tiling window manager that alows me to navigate&#xA;through 9 workspaces (technically called tags in awesomewm). I can script out&#xA;certain applications to open in a certain tag, move it to different tags, and&#xA;join tags super easy.  I really dont see myself going back to a floating window&#xA;manager where you have to place all your windows with the mouse by hand.  This&#xA;is probably one of the biggest selling points for me to move to a Linux&#xA;desktop.&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;h3 id=&#34;gnome-terminal&#34;&gt;gnome-terminal &lt;a href=&#34;#gnome-terminal&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;For the longest time I just used&#xA;&lt;a href=&#34;https://help.gnome.org/users/gnome-terminal/stable/&#34;&gt;gnome-terminal&lt;/a&gt;.  It&#xA;works, for the most part it gets out of the way and lets me do what I want.  I&#xA;just want a terminal that runs tmux properly, runs without titltbars or&#xA;scrollbars, and lets me theme it without much effort.&lt;/p&gt;&#xA;&lt;h3 id=&#34;kitty&#34;&gt;kitty &lt;a href=&#34;#kitty&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://sw.kovidgoyal.net/kitty/&#34;&gt;Kitty&lt;/a&gt; is my main terminal, these days, it’s&#xA;nice, its easy to configure how I want it, but most of its fancier features do&#xA;not work inside of tmux.  It does render incredibly fast, If I accidently cat&#xA;out a massive file, it typically just handles it, compared to other terminals&#xA;that will be printing for 30s or so.&lt;/p&gt;&#xA;&lt;h3 id=&#34;windows-terminal&#34;&gt;Windows Terminal &lt;a href=&#34;#windows-terminal&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;When I am on a windows terminal I use the &lt;em&gt;new&lt;/em&gt;&#xA;&lt;a href=&#34;https://github.com/microsoft/terminal&#34; style=&#34;--favicon-url: url(&amp;#39;/assets/markata/link-avatars/github.com.ico&amp;#39;);&#34; data-favicon=&#34;/assets/markata/link-avatars/github.com.ico&#34; class=&#34;has-avatar  has-avatar-before&#34;&gt;Terminal&lt;/a&gt;.  It’s a massive improvement&#xA;over any other terminal that I have ever tired on windows.  Text looks good,&#xA;the built in themese look good, I use the One-Half-Dark Theme, and the built in&#xA;Cascadia Code font.  Also things like system clipboards, copy, and paste just&#xA;seem to work better, and integrate well with wsl.&lt;/p&gt;&#xA;&lt;figure&gt;&#xA;&lt;a href=&#34;https://images.waylonwalker.com/Windows-Terminal-0522.webp&#34; class=&#34;glightbox-link&#34;&gt;&lt;img class=&#34;glightbox&#34; src=&#34;https://images.waylonwalker.com/Windows-Terminal-0522.webp&#34; alt=&#34;My Windows Terminal from may 2022&#34;/ data-glightbox=&#34;description: My Windows Terminal from may 2022&#34;&gt;&lt;/a&gt;&#xA;&lt;/figure&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;The shell is the interpreter that interprets the commands that you send to it&#xA;from the command line, unlike the terminal that displays the text.&lt;/p&gt;&#xA;&lt;h3 id=&#34;zsh&#34;&gt;zsh &lt;a href=&#34;#zsh&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;I use &lt;a href=&#34;https://www.zsh.org/&#34; style=&#34;--favicon-url: url(&amp;#39;/assets/markata/link-avatars/www.zsh.org.png&amp;#39;);&#34; data-favicon=&#34;/assets/markata/link-avatars/www.zsh.org.png&#34; class=&#34;has-avatar  has-avatar-before&#34;&gt;zsh&lt;/a&gt; as my shell of choice.  I don’t run&#xA;oh-my-zsh, I just need a few plugins for things like&#xA;&lt;a href=&#34;https://github.com/zsh-users/zsh-autosuggestions&#34; style=&#34;--favicon-url: url(&amp;#39;/assets/markata/link-avatars/github.com.ico&amp;#39;);&#34; data-favicon=&#34;/assets/markata/link-avatars/github.com.ico&#34; class=&#34;has-avatar  has-avatar-before&#34;&gt;autosuggestions&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/zsh-users/zsh-syntax-highlighting&#34; style=&#34;--favicon-url: url(&amp;#39;/assets/markata/link-avatars/github.com.ico&amp;#39;);&#34; data-favicon=&#34;/assets/markata/link-avatars/github.com.ico&#34; class=&#34;has-avatar  has-avatar-before&#34;&gt;syntax-highlighting&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/zsh-users/zsh-history-substring-search&#34; style=&#34;--favicon-url: url(&amp;#39;/assets/markata/link-avatars/github.com.ico&amp;#39;);&#34; data-favicon=&#34;/assets/markata/link-avatars/github.com.ico&#34; class=&#34;has-avatar  has-avatar-before&#34;&gt;history-substring-search&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;tmux&#34;&gt;Tmux &lt;a href=&#34;#tmux&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h2 id=&#34;text-editor&#34;&gt;Text Editor &lt;a href=&#34;#text-editor&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h2 id=&#34;presentation--slides&#34;&gt;Presentation / Slides &lt;a href=&#34;#presentation--slides&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h2 id=&#34;video-recording--streaming&#34;&gt;Video Recording / Streaming &lt;a href=&#34;#video-recording--streaming&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h2 id=&#34;video-editing&#34;&gt;Video Editing &lt;a href=&#34;#video-editing&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h2 id=&#34;pager&#34;&gt;pager &lt;a href=&#34;#pager&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h2 id=&#34;image-editor&#34;&gt;Image Editor &lt;a href=&#34;#image-editor&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h2 id=&#34;virtual-environments&#34;&gt;Virtual Environments &lt;a href=&#34;#virtual-environments&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h2 id=&#34;node&#34;&gt;node &lt;a href=&#34;#node&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;hr/&gt;&#xA;&lt;h2 id=&#34;desk&#34;&gt;Desk &lt;a href=&#34;#desk&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h2 id=&#34;monitor&#34;&gt;Monitor &lt;a href=&#34;#monitor&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h2 id=&#34;keyboard&#34;&gt;Keyboard &lt;a href=&#34;#keyboard&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h2 id=&#34;desktop-pc&#34;&gt;Desktop PC &lt;a href=&#34;#desktop-pc&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h2 id=&#34;keyboard-1&#34;&gt;Keyboard &lt;a href=&#34;#keyboard-1&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h2 id=&#34;microphone&#34;&gt;Microphone &lt;a href=&#34;#microphone&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h2 id=&#34;audio-interface&#34;&gt;Audio Interface &lt;a href=&#34;#audio-interface&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h2 id=&#34;headphones&#34;&gt;Headphones &lt;a href=&#34;#headphones&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h2 id=&#34;chair&#34;&gt;Chair &lt;a href=&#34;#chair&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <email>hello@waylonwalker.com</email>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>tmux targeted session</title>
    <id>https://waylonwalker.com/tmux-targeted-session/</id>
    <updated>2021-08-02T23:51:21Z</updated>
    <published>2021-08-02T23:51:21Z</published>
    <link href="https://waylonwalker.com/tmux-targeted-session/" rel="alternate" type="text/html"></link>
    <summary type="text">https://youtu.be/5KE7Il7SOEk</summary>
    <content type="html">&lt;p&gt;&lt;a href=&#34;https://youtu.be/5KE7Il7SOEk&#34; class=&#34;youtube-embed  has-avatar has-avatar-before&#34; style=&#34;--favicon-url: url(&amp;#39;/assets/markata/link-avatars/youtu.be.png&amp;#39;);&#34; data-favicon=&#34;/assets/markata/link-avatars/youtu.be.png&#34;&gt;https://youtu.be/5KE7Il7SOEk&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;This is something that I made up but use every single day, this is what keeps&#xA;much of what is on my blog or my teams private work wiki going.  I have a few&#xA;very important directories that I have assigned directly to a hotkey for fast&#xA;session switching.&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-i new-session -A -s waylonwalker_com &lt;span class=&#34;s2&#34;&gt;&amp;#34;cd ~/git/waylonwalker.com/ &amp;amp;&amp;amp; nvim&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;bind&lt;/span&gt; i popup -E -h 95% -w 95% -x 100% &lt;span class=&#34;s2&#34;&gt;&amp;#34;tmux new-session -A -s waylonwalker_com &amp;#39;cd ~/git/waylonwalker.com/ &amp;amp;&amp;amp; nvim&amp;#39;&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;bind&lt;/span&gt; -n M-I popup -E &lt;span class=&#34;s2&#34;&gt;&amp;#34;tmux new-session -A -s waylonwalker_com &amp;#39;cd ~/git/waylonwalker.com/ &amp;amp;&amp;amp; nvim&amp;#39;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;a href=&#34;/tmux-new-session/&#34; class=&#34;wikilink&#34; data-title=&#34;tmux new-session&#34; data-description=&#34;https://youtu.be/LbQNdCAUogE&#34; data-date=&#34;2021-08-01&#34; data-preview=&#34;https://youtu.be/LbQNdCAUogE&#34;&gt;tmux new-session&lt;/a&gt;&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;This one is building off of yeserday’s new-session post, make sure you check that one out as well.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;&lt;a href=&#34;/tmux-nav-2021/&#34; class=&#34;wikilink&#34; data-title=&#34;How I navigate tmux in 2021&#34; data-description=&#34;change_speed = (speed) =&amp;gt; [...document.querySelectorAll(&amp;#39;video&amp;#39;)].map(v =&amp;gt; v.playbackRate=v.playbackRate+speed)&#34; data-date=&#34;2021-05-11&#34; data-preview=&#34;change_speed = (speed) =&amp;gt; [...document.querySelectorAll(&amp;#39;video&amp;#39;)].map(v =&amp;gt; v.playbackRate=v.playbackRate+speed)&#34;&gt;How I navigate tmux in 2021&lt;/a&gt;&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;for more information on how I navigate tmux, check out this full post&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Also check out the full YouTube&#xA;&lt;a href=&#34;https://www.youtube.com/playlist?list=PLTRNG6WIHETB4reAxbWza3CZeP9KL6Bkr&#34; style=&#34;--favicon-url: url(&amp;#39;/assets/markata/link-avatars/www.youtube.com.png&amp;#39;);&#34; data-favicon=&#34;/assets/markata/link-avatars/www.youtube.com.png&#34; class=&#34;has-avatar  has-avatar-before&#34;&gt;tmux-playlist&lt;/a&gt;&#xA;to see all of the videos in this series.&lt;/p&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <email>hello@waylonwalker.com</email>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>tmux detach</title>
    <id>https://waylonwalker.com/tmux-detach/</id>
    <updated>2021-08-01T23:51:21Z</updated>
    <published>2021-08-01T23:51:21Z</published>
    <link href="https://waylonwalker.com/tmux-detach/" rel="alternate" type="text/html"></link>
    <summary type="text">https://youtu.be/A1qx3tNKDdA</summary>
    <content type="html">&lt;p&gt;&lt;a href=&#34;https://youtu.be/A1qx3tNKDdA&#34; class=&#34;youtube-embed  has-avatar has-avatar-before&#34; style=&#34;--favicon-url: url(&amp;#39;/assets/markata/link-avatars/youtu.be.png&amp;#39;);&#34; data-favicon=&#34;/assets/markata/link-avatars/youtu.be.png&#34;&gt;https://youtu.be/A1qx3tNKDdA&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;tmux detach is a handy tmux command that will quit your current session while&#xA;keeping it running. The full name of the comamnd is &lt;code&gt;detach-client&lt;/code&gt;, &lt;code&gt;detach&lt;/code&gt;&#xA;is a shorthand.&lt;/p&gt;&#xA;&lt;p&gt;default keybinding&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;bind-key          d detach-client&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;I have mine bound to &lt;code&gt;mod+d&lt;/code&gt; where mod is alt.&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-d detach-client&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;a href=&#34;https://waylonwalker.com/tmux-nav-2021/&#34; class=&#34;hoverlink&#34;&gt;https://waylonwalker.com/tmux-nav-2021/&lt;/a&gt;&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;for more information on how I navigate tmux, check out this full post&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Also check out the full YouTube&#xA;&lt;a href=&#34;https://www.youtube.com/playlist?list=PLTRNG6WIHETB4reAxbWza3CZeP9KL6Bkr&#34; style=&#34;--favicon-url: url(&amp;#39;/assets/markata/link-avatars/www.youtube.com.png&amp;#39;);&#34; data-favicon=&#34;/assets/markata/link-avatars/www.youtube.com.png&#34; class=&#34;has-avatar  has-avatar-before&#34;&gt;tmux-playlist&lt;/a&gt;&#xA;to see all of the videos in this series.&lt;/p&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <email>hello@waylonwalker.com</email>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>tmux attach</title>
    <id>https://waylonwalker.com/tmux-attach/</id>
    <updated>2021-07-31T23:51:21Z</updated>
    <published>2021-07-31T23:51:21Z</published>
    <link href="https://waylonwalker.com/tmux-attach/" rel="alternate" type="text/html"></link>
    <summary type="text">https://youtu.be/JQ0yDCVu44E</summary>
    <content type="html">&lt;p&gt;&lt;a href=&#34;https://youtu.be/JQ0yDCVu44E&#34; style=&#34;--favicon-url: url(&amp;#39;/assets/markata/link-avatars/youtu.be.png&amp;#39;);&#34; data-favicon=&#34;/assets/markata/link-avatars/youtu.be.png&#34; class=&#34;has-avatar  has-avatar-before&#34;&gt;https://youtu.be/JQ0yDCVu44E&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;attach is one of the most useful features of tmux.  If you have no interest in&#xA;tmux for pane and window management, you should use tmux for this.  It can be a&#xA;life saver if you ever get disconnected from the host machine or accidently&#xA;close your terminal you can connect right back into the session you were just&#xA;in using attach.&lt;/p&gt;&#xA;&lt;h2 id=&#34;attach&#34;&gt;attach &lt;a href=&#34;#attach&#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;tmux attach&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;blockquote&gt;&#xA;&lt;p&gt;this command will simply attach back to tmux if you are ever disconnected&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;If you ever run long running tasks on a remote machine by sshing into this you&#xA;should be doing it inside tmux, or something like tmux so that you do not loose&#xA;your work.&lt;/p&gt;&#xA;&lt;h2 id=&#34;attach-to-a-specific-session&#34;&gt;attach to a specific session &lt;a href=&#34;#attach-to-a-specific-session&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;If you have multiple sessions running you can select the session that you want&#xA;to attach to by passing &lt;code&gt;-t &amp;lt;name-of-session&amp;gt;&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;tmux attach -t scratch&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;a href=&#34;/tmux-nav-2021/&#34; class=&#34;wikilink&#34; data-title=&#34;How I navigate tmux in 2021&#34; data-description=&#34;change_speed = (speed) =&amp;gt; [...document.querySelectorAll(&amp;#39;video&amp;#39;)].map(v =&amp;gt; v.playbackRate=v.playbackRate+speed)&#34; data-date=&#34;2021-05-11&#34; data-preview=&#34;change_speed = (speed) =&amp;gt; [...document.querySelectorAll(&amp;#39;video&amp;#39;)].map(v =&amp;gt; v.playbackRate=v.playbackRate+speed)&#34;&gt;How I navigate tmux in 2021&lt;/a&gt;&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;for more information on how I navigate tmux, check out this full post&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Also check out the full YouTube&#xA;&lt;a href=&#34;https://www.youtube.com/playlist?list=PLTRNG6WIHETB4reAxbWza3CZeP9KL6Bkr&#34; style=&#34;--favicon-url: url(&amp;#39;/assets/markata/link-avatars/www.youtube.com.png&amp;#39;);&#34; data-favicon=&#34;/assets/markata/link-avatars/www.youtube.com.png&#34; class=&#34;has-avatar  has-avatar-before&#34;&gt;tmux-playlist&lt;/a&gt;&#xA;to see all of the videos in this series.&lt;/p&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <email>hello@waylonwalker.com</email>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>tmux ls</title>
    <id>https://waylonwalker.com/tmux-ls/</id>
    <updated>2021-07-30T23:51:21Z</updated>
    <published>2021-07-30T23:51:21Z</published>
    <link href="https://waylonwalker.com/tmux-ls/" rel="alternate" type="text/html"></link>
    <summary type="text">https://youtu.be/LY41GLn_DGg</summary>
    <content type="html">&lt;p&gt;&lt;a href=&#34;https://youtu.be/LY41GLn_DGg&#34; class=&#34;youtube-embed  has-avatar has-avatar-before&#34; style=&#34;--favicon-url: url(&amp;#39;/assets/markata/link-avatars/youtu.be.png&amp;#39;);&#34; data-favicon=&#34;/assets/markata/link-avatars/youtu.be.png&#34;&gt;https://youtu.be/LY41GLn_DGg&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;tmux ls will list the sessions that you have running within the tmux server if&#xA;tmux is currently running.  This is handy to combine with commands such as &lt;code&gt;attach&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;tmux ls&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;a href=&#34;/tmux-attach/&#34; class=&#34;wikilink&#34; data-title=&#34;tmux attach&#34; data-description=&#34;https://youtu.be/JQ0yDCVu44E&#34; data-date=&#34;2021-07-31&#34; data-preview=&#34;https://youtu.be/JQ0yDCVu44E&#34;&gt;tmux attach&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;/tmux-nav-2021/&#34; class=&#34;wikilink&#34; data-title=&#34;How I navigate tmux in 2021&#34; data-description=&#34;change_speed = (speed) =&amp;gt; [...document.querySelectorAll(&amp;#39;video&amp;#39;)].map(v =&amp;gt; v.playbackRate=v.playbackRate+speed)&#34; data-date=&#34;2021-05-11&#34; data-preview=&#34;change_speed = (speed) =&amp;gt; [...document.querySelectorAll(&amp;#39;video&amp;#39;)].map(v =&amp;gt; v.playbackRate=v.playbackRate+speed)&#34;&gt;How I navigate tmux in 2021&lt;/a&gt;&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;for more information on how I navigate tmux, check out this full post&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Also check out the full YouTube&#xA;&lt;a href=&#34;https://www.youtube.com/playlist?list=PLTRNG6WIHETB4reAxbWza3CZeP9KL6Bkr&#34; style=&#34;--favicon-url: url(&amp;#39;/assets/markata/link-avatars/www.youtube.com.png&amp;#39;);&#34; data-favicon=&#34;/assets/markata/link-avatars/www.youtube.com.png&#34; class=&#34;has-avatar  has-avatar-before&#34;&gt;tmux-playlist&lt;/a&gt;&#xA;to see all of the videos in this series.&lt;/p&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <email>hello@waylonwalker.com</email>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>tmux command line</title>
    <id>https://waylonwalker.com/tmux-command-line/</id>
    <updated>2021-07-29T23:51:21Z</updated>
    <published>2021-07-29T23:51:21Z</published>
    <link href="https://waylonwalker.com/tmux-command-line/" rel="alternate" type="text/html"></link>
    <summary type="text">https://youtu.be/SNu-4IrkjAs</summary>
    <content type="html">&lt;p&gt;&lt;a href=&#34;https://youtu.be/SNu-4IrkjAs&#34; class=&#34;youtube-embed  has-avatar has-avatar-before&#34; style=&#34;--favicon-url: url(&amp;#39;/assets/markata/link-avatars/youtu.be.png&amp;#39;);&#34; data-favicon=&#34;/assets/markata/link-avatars/youtu.be.png&#34;&gt;https://youtu.be/SNu-4IrkjAs&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;So far we have covered a lot of tmux commands and how they map to keybindings&#xA;but these same commands can be executed at the command line.&lt;/p&gt;&#xA;&lt;h2 id=&#34;from-the-command-line&#34;&gt;From the command line &lt;a href=&#34;#from-the-command-line&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Let’s make a popup that displays our &lt;a href=&#34;/glossary/git/&#34; class=&#34;glossary-term&#34; title=&#34;Git is a version control system for tracking changes in source code during software development. In the beginning there were many, some were licensed. As...&#34;&gt;git&lt;/a&gt; status for 5s or until we close it&#xA;manually.  We can run the following command at the command line, in a split.&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;tmux display-popup -E -d &lt;span class=&#34;s1&#34;&gt;&amp;#39;#{pane_current_path}&amp;#39;&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;git status &amp;amp;&amp;amp; sleep 5&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;from-the-tmux-command-line&#34;&gt;From the tmux command line &lt;a href=&#34;#from-the-tmux-command-line&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Or we can open the tmux command line and run it from tmux’s built in command&#xA;line, which is very similar to bim EX mode. By default the tmux command line&#xA;can be opened with &lt;code&gt;prefix+[&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;display-popup -E -d &lt;span class=&#34;s1&#34;&gt;&amp;#39;#{pane_current_path}&amp;#39;&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;git status &amp;amp;&amp;amp; sleep 5&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;blockquote&gt;&#xA;&lt;p&gt;🗒️ note that the tmux command is called by default when inside of tmux.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;make-it-a-keybinding&#34;&gt;Make it a keybinding &lt;a href=&#34;#make-it-a-keybinding&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Finally we can make it a keybinding by adding a bind command ahead of our tmux&#xA;command, then we can execute this in the tmux command line or add it to our&#xA;&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; s display-popup -E -d &lt;span class=&#34;s1&#34;&gt;&amp;#39;#{pane_current_path}&amp;#39;&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;git status &amp;amp;&amp;amp; sleep 5&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;a href=&#34;/tmux-nav-2021/&#34; class=&#34;wikilink&#34; data-title=&#34;How I navigate tmux in 2021&#34; data-description=&#34;change_speed = (speed) =&amp;gt; [...document.querySelectorAll(&amp;#39;video&amp;#39;)].map(v =&amp;gt; v.playbackRate=v.playbackRate+speed)&#34; data-date=&#34;2021-05-11&#34; data-preview=&#34;change_speed = (speed) =&amp;gt; [...document.querySelectorAll(&amp;#39;video&amp;#39;)].map(v =&amp;gt; v.playbackRate=v.playbackRate+speed)&#34;&gt;How I navigate tmux in 2021&lt;/a&gt;&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;for more information on how I navigate tmux, check out this full post&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Also check out the full YouTube&#xA;&lt;a href=&#34;https://www.youtube.com/playlist?list=PLTRNG6WIHETB4reAxbWza3CZeP9KL6Bkr&#34; style=&#34;--favicon-url: url(&amp;#39;/assets/markata/link-avatars/www.youtube.com.png&amp;#39;);&#34; data-favicon=&#34;/assets/markata/link-avatars/www.youtube.com.png&#34; class=&#34;has-avatar  has-avatar-before&#34;&gt;tmux-playlist&lt;/a&gt;&#xA;to see all of the videos in this series.&lt;/p&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <email>hello@waylonwalker.com</email>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>tmux copy-mode</title>
    <id>https://waylonwalker.com/tmux-copy-mode/</id>
    <updated>2021-07-28T23:51:21Z</updated>
    <published>2021-07-28T23:51:21Z</published>
    <link href="https://waylonwalker.com/tmux-copy-mode/" rel="alternate" type="text/html"></link>
    <summary type="text">https://youtu.be/-ypY_-VmBKk</summary>
    <content type="html">&lt;p&gt;&lt;a href=&#34;https://youtu.be/-ypY_-VmBKk&#34; class=&#34;youtube-embed  has-avatar has-avatar-before&#34; style=&#34;--favicon-url: url(&amp;#39;/assets/markata/link-avatars/youtu.be.png&amp;#39;);&#34; data-favicon=&#34;/assets/markata/link-avatars/youtu.be.png&#34;&gt;https://youtu.be/-ypY_-VmBKk&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;tmux copy-mode is a tmux mode that lets you scroll, search, copy, and jump your&#xA;way through a pane.  There are a ton of keybindings for copy-mode, the main&#xA;ones you will need to know are &lt;code&gt;/&lt;/code&gt; for searching down &lt;code&gt;?&lt;/code&gt; for searching up, &lt;code&gt;n&lt;/code&gt;&#xA;for next item, &lt;code&gt;space&lt;/code&gt; for starting a selection, and enter to copy the&#xA;selection.  Arrow keys will be used for navigation unless you have specified vi mode, then it will be &lt;code&gt;hjkl&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Default keybinding to get into copy mode is &lt;code&gt;prefix+[&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;bind-key          &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt; copy-mode&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;If you are a vim user you will likely want to use vi style keys, add this to&#xA;your &lt;code&gt;~/.tmux.conf&lt;/code&gt; file to enable vi mode.&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;setw -g mode-keys vi&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;full list of copy-mode keybindings from the man page.&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;  Command                                      vi              emacs&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           append-selection&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           append-selection-and-cancel                  A&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           back-to-indentation                          ^               M-m&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           begin-selection                              Space           C-Space&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           bottom-line                                  L&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           cancel                                       q               Escape&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           clear-selection                              Escape          C-g&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           copy-end-of-line &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;&amp;lt;prefix&amp;gt;&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;                  D               C-k&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           copy-line &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;&amp;lt;prefix&amp;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;           copy-pipe &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;&amp;lt;command&amp;gt;&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;&amp;lt;prefix&amp;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;           copy-pipe-no-clear &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;&amp;lt;command&amp;gt;&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;&amp;lt;prefix&amp;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;           copy-pipe-and-cancel &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;&amp;lt;command&amp;gt;&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;&amp;lt;prefix&amp;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;           copy-selection &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;&amp;lt;prefix&amp;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;           copy-selection-no-clear &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;&amp;lt;prefix&amp;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;           copy-selection-and-cancel &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;&amp;lt;prefix&amp;gt;&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;         Enter           M-w&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           cursor-down                                  j               Down&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           cursor-down-and-cancel&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           cursor-left                                  h               Left&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           cursor-right                                 l               Right&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           cursor-up                                    k               Up&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           end-of-line                                  $               C-e&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           goto-line &amp;lt;line&amp;gt;                             :               g&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           halfpage-down                                C-d             M-Down&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           halfpage-down-and-cancel&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           halfpage-up                                  C-u             M-Up&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           history-bottom                               G               M-&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           history-top                                  g               M-&amp;lt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           jump-again                                   &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;           jump-backward &amp;lt;to&amp;gt;                           F               F&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           jump-forward &amp;lt;to&amp;gt;                            f               f&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           jump-reverse                                 ,               ,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           jump-to-backward &amp;lt;to&amp;gt;                        T&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           jump-to-forward &amp;lt;to&amp;gt;                         t&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           jump-to-mark                                 M-x             M-x&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           middle-line                                  M               M-r&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           next-matching-bracket                        %               M-C-f&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           next-paragraph                               &lt;span class=&#34;o&#34;&gt;}&lt;/span&gt;               M-&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;           next-space                                   W&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           next-space-end                               E&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           next-word                                    w&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           next-word-end                                e               M-f&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           other-end                                    o&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           page-down                                    C-f             PageDown&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           page-down-and-cancel&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           page-up                                      C-b             PageUp&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           pipe &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;&amp;lt;command&amp;gt;&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;&amp;lt;prefix&amp;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;           pipe-no-clear &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;&amp;lt;command&amp;gt;&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;&amp;lt;prefix&amp;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;           pipe-and-cancel &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;&amp;lt;command&amp;gt;&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;&amp;lt;prefix&amp;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;           previous-matching-bracket                                    M-C-b&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           previous-paragraph                           &lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;               M-&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;           previous-space                               B&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           previous-word                                b               M-b&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           rectangle-on&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           rectangle-off&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           rectangle-toggle                             v               R&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           refresh-from-pane                            r               r&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           scroll-down                                  C-e             C-Down&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           scroll-down-and-cancel&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           scroll-up                                    C-y             C-Up&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           search-again                                 n               n&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           search-backward &amp;lt;&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt;&amp;gt;                        ?&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           search-backward-incremental &amp;lt;&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt;&amp;gt;                            C-r&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           search-backward-text &amp;lt;&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt;&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           search-forward &amp;lt;&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt;&amp;gt;                         /&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           search-forward-incremental &amp;lt;&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt;&amp;gt;                             C-s&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           search-forward-text &amp;lt;&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt;&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           search-reverse                               N               N&#xA;&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;select&lt;/span&gt;-line                                  V&#xA;&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;select&lt;/span&gt;-word&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           set-mark                                     X               X&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           start-of-line                                &lt;span class=&#34;m&#34;&gt;0&lt;/span&gt;               C-a&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           stop-selection&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           top-line                                     H               M-R&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;a href=&#34;/tmux-nav-2021/&#34; class=&#34;wikilink&#34; data-title=&#34;How I navigate tmux in 2021&#34; data-description=&#34;change_speed = (speed) =&amp;gt; [...document.querySelectorAll(&amp;#39;video&amp;#39;)].map(v =&amp;gt; v.playbackRate=v.playbackRate+speed)&#34; data-date=&#34;2021-05-11&#34; data-preview=&#34;change_speed = (speed) =&amp;gt; [...document.querySelectorAll(&amp;#39;video&amp;#39;)].map(v =&amp;gt; v.playbackRate=v.playbackRate+speed)&#34;&gt;How I navigate tmux in 2021&lt;/a&gt;&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;for more information on how I navigate tmux, check out this full post&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Also check out the full YouTube&#xA;&lt;a href=&#34;https://www.youtube.com/playlist?list=PLTRNG6WIHETB4reAxbWza3CZeP9KL6Bkr&#34; style=&#34;--favicon-url: url(&amp;#39;/assets/markata/link-avatars/www.youtube.com.png&amp;#39;);&#34; data-favicon=&#34;/assets/markata/link-avatars/www.youtube.com.png&#34; class=&#34;has-avatar  has-avatar-before&#34;&gt;tmux-playlist&lt;/a&gt;&#xA;to see all of the videos in this series.&lt;/p&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <email>hello@waylonwalker.com</email>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>tmux join-pane</title>
    <id>https://waylonwalker.com/tmux-join-pane/</id>
    <updated>2021-07-27T23:51:21Z</updated>
    <published>2021-07-27T23:51:21Z</published>
    <link href="https://waylonwalker.com/tmux-join-pane/" rel="alternate" type="text/html"></link>
    <summary type="text">https://youtu.be/Vm5rRtcVXLw</summary>
    <content type="html">&lt;p&gt;&lt;a href=&#34;https://youtu.be/Vm5rRtcVXLw&#34; class=&#34;youtube-embed  has-avatar has-avatar-before&#34; style=&#34;--favicon-url: url(&amp;#39;/assets/markata/link-avatars/youtu.be.png&amp;#39;);&#34; data-favicon=&#34;/assets/markata/link-avatars/youtu.be.png&#34;&gt;https://youtu.be/Vm5rRtcVXLw&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Join-pane allows you to join panes that you have broken away from your window,&#xA;or created in a different window to the window you want it in.  As far as I&#xA;know there is not a default keybinding for it.&lt;/p&gt;&#xA;&lt;p&gt;Before you can join a pane you must first have a pane marked to join.  Once you&#xA;mark a pane, go back to the window you want to join it to and join-pane.&lt;/p&gt;&#xA;&lt;p&gt;My keybindings, you must add this to your &lt;code&gt;~/.tmux.conf&lt;/code&gt; file to use them.&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;# Mark and swap panes&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;#――――――――――――――――――――――――――――――――――――――――――――&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;bind&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;n&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;M&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;m&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;select&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;pane&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;m&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;# mark&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;bind&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;n&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;M&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;M&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;select&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;pane&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;M&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;# unmark&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;n&#34;&gt;bind&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;n&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;M&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;lt;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;join&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;pane&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;a href=&#34;/tmux-nav-2021/&#34; class=&#34;wikilink&#34; data-title=&#34;How I navigate tmux in 2021&#34; data-description=&#34;change_speed = (speed) =&amp;gt; [...document.querySelectorAll(&amp;#39;video&amp;#39;)].map(v =&amp;gt; v.playbackRate=v.playbackRate+speed)&#34; data-date=&#34;2021-05-11&#34; data-preview=&#34;change_speed = (speed) =&amp;gt; [...document.querySelectorAll(&amp;#39;video&amp;#39;)].map(v =&amp;gt; v.playbackRate=v.playbackRate+speed)&#34;&gt;How I navigate tmux in 2021&lt;/a&gt;&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;for more information on how I navigate tmux, check out this full post&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Also check out the full YouTube&#xA;&lt;a href=&#34;https://www.youtube.com/playlist?list=PLTRNG6WIHETB4reAxbWza3CZeP9KL6Bkr&#34; style=&#34;--favicon-url: url(&amp;#39;/assets/markata/link-avatars/www.youtube.com.png&amp;#39;);&#34; data-favicon=&#34;/assets/markata/link-avatars/www.youtube.com.png&#34; class=&#34;has-avatar  has-avatar-before&#34;&gt;tmux-playlist&lt;/a&gt;&#xA;to see all of the videos in this series.&lt;/p&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <email>hello@waylonwalker.com</email>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>tmux break-pane</title>
    <id>https://waylonwalker.com/break-pane/</id>
    <updated>2021-07-26T23:51:21Z</updated>
    <published>2021-07-26T23:51:21Z</published>
    <link href="https://waylonwalker.com/break-pane/" rel="alternate" type="text/html"></link>
    <summary type="text">https://youtu.be/ICL609F2xnc</summary>
    <content type="html">&lt;p&gt;&lt;a href=&#34;https://youtu.be/ICL609F2xnc&#34; class=&#34;youtube-embed  has-avatar has-avatar-before&#34; style=&#34;--favicon-url: url(&amp;#39;/assets/markata/link-avatars/youtu.be.png&amp;#39;);&#34; data-favicon=&#34;/assets/markata/link-avatars/youtu.be.png&#34;&gt;https://youtu.be/ICL609F2xnc&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Break-pane is a handy tmux command when your layout gets too cramped and you&#xA;want to just move a split into its own window.  Calling &lt;code&gt;break-pane&lt;/code&gt; does&#xA;exactly that, it creates a &lt;code&gt;new-window&lt;/code&gt; for you and moves your currently&#xA;selected split into that window&lt;/p&gt;&#xA;&lt;p&gt;Default key binding for &lt;code&gt;break-pane&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;bind-key          ! break-pane&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;a href=&#34;/tmux-nav-2021/&#34; class=&#34;wikilink&#34; data-title=&#34;How I navigate tmux in 2021&#34; data-description=&#34;change_speed = (speed) =&amp;gt; [...document.querySelectorAll(&amp;#39;video&amp;#39;)].map(v =&amp;gt; v.playbackRate=v.playbackRate+speed)&#34; data-date=&#34;2021-05-11&#34; data-preview=&#34;change_speed = (speed) =&amp;gt; [...document.querySelectorAll(&amp;#39;video&amp;#39;)].map(v =&amp;gt; v.playbackRate=v.playbackRate+speed)&#34;&gt;How I navigate tmux in 2021&lt;/a&gt;&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;for more information on how I navigate tmux, check out this full post&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <email>hello@waylonwalker.com</email>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>tmux zoom</title>
    <id>https://waylonwalker.com/tmux-zoom/</id>
    <updated>2021-07-25T23:51:21Z</updated>
    <published>2021-07-25T23:51:21Z</published>
    <link href="https://waylonwalker.com/tmux-zoom/" rel="alternate" type="text/html"></link>
    <summary type="text">https://youtu.be/Rn6mOarCQ-Y</summary>
    <content type="html">&lt;p&gt;&lt;a href=&#34;https://youtu.be/Rn6mOarCQ-Y&#34; class=&#34;youtube-embed  has-avatar has-avatar-before&#34; style=&#34;--favicon-url: url(&amp;#39;/assets/markata/link-avatars/youtu.be.png&amp;#39;);&#34; data-favicon=&#34;/assets/markata/link-avatars/youtu.be.png&#34;&gt;https://youtu.be/Rn6mOarCQ-Y&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Zooming into the current split in tmux is a valuable tool to give yourself some&#xA;screen real estate.  These days I am almost always presenting, streaming, or&#xA;pairing up with a co-worker over a video call.  Since I am always sharing my&#xA;screen I am generally zoomed in to a level that is just a bit uncomfortable, so&#xA;anytime I make a split it is really uncomfortable, being able to zoom into the&#xA;split I am focused on is a big help, and also help anyone watching follow where&#xA;I am currently working.&lt;/p&gt;&#xA;&lt;p&gt;Default key bindings for zooming the current split&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;bind-key          z resize-pane -Z&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;I have rebound this to match the default binding with mod+z rather so that I&#xA;get that single keystroke experience.&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-z resize-pane -Z&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;a href=&#34;/tmux-nav-2021/&#34; class=&#34;wikilink&#34; data-title=&#34;How I navigate tmux in 2021&#34; data-description=&#34;change_speed = (speed) =&amp;gt; [...document.querySelectorAll(&amp;#39;video&amp;#39;)].map(v =&amp;gt; v.playbackRate=v.playbackRate+speed)&#34; data-date=&#34;2021-05-11&#34; data-preview=&#34;change_speed = (speed) =&amp;gt; [...document.querySelectorAll(&amp;#39;video&amp;#39;)].map(v =&amp;gt; v.playbackRate=v.playbackRate+speed)&#34;&gt;How I navigate tmux in 2021&lt;/a&gt;&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;for more information on how I navigate tmux, check out this full post&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <email>hello@waylonwalker.com</email>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>tmux new-window</title>
    <id>https://waylonwalker.com/tmux-new-window/</id>
    <updated>2021-07-24T23:51:21Z</updated>
    <published>2021-07-24T23:51:21Z</published>
    <link href="https://waylonwalker.com/tmux-new-window/" rel="alternate" type="text/html"></link>
    <summary type="text">https://youtu.be/YRPZBv-iYyE</summary>
    <content type="html">&lt;p&gt;&lt;a href=&#34;https://youtu.be/YRPZBv-iYyE&#34; class=&#34;youtube-embed  has-avatar has-avatar-before&#34; style=&#34;--favicon-url: url(&amp;#39;/assets/markata/link-avatars/youtu.be.png&amp;#39;);&#34; data-favicon=&#34;/assets/markata/link-avatars/youtu.be.png&#34;&gt;https://youtu.be/YRPZBv-iYyE&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;New window as it sounds makes new windows in tmux.  Windows are kind of like&#xA;tabs.  They are another screen within your sessions that you can name and make&#xA;new panes in.&lt;/p&gt;&#xA;&lt;p&gt;Default key bindings for creating and navigating windows in 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;bind-key          c new-window&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bind-key          p previous-window&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bind-key          n next-window&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;As always I have rebound these keys because I generally prefer a single&#xA;keystroke over the prefix plus keybinding approach that tmux gives by default.&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;#――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;nb&#34;&gt;bind&lt;/span&gt; -n M-c new-window -c &lt;span class=&#34;s1&#34;&gt;&amp;#39;#{pane_current_path}&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;&lt;span class=&#34;nb&#34;&gt;bind&lt;/span&gt; -n M-p previous-window&#xA;&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; -n M-n next-window&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;When I started using tmux I did almost everything in one giant session with&#xA;many panes and windows.  It became a nightmare to manage and quickly get&#xA;between two sets work efficiently.  This year I leaned in on sessions quite&#xA;heavily.  Checkout this 👇 post to see that workflow in depth.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;/tmux-nav-2021/&#34; class=&#34;wikilink&#34; data-title=&#34;How I navigate tmux in 2021&#34; data-description=&#34;change_speed = (speed) =&amp;gt; [...document.querySelectorAll(&amp;#39;video&amp;#39;)].map(v =&amp;gt; v.playbackRate=v.playbackRate+speed)&#34; data-date=&#34;2021-05-11&#34; data-preview=&#34;change_speed = (speed) =&amp;gt; [...document.querySelectorAll(&amp;#39;video&amp;#39;)].map(v =&amp;gt; v.playbackRate=v.playbackRate+speed)&#34;&gt;How I navigate tmux in 2021&lt;/a&gt;&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;for more information on how I navigate tmux, check out this full post&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <email>hello@waylonwalker.com</email>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>tmux slect-pane</title>
    <id>https://waylonwalker.com/tmux-select-pane/</id>
    <updated>2021-07-23T23:51:21Z</updated>
    <published>2021-07-23T23:51:21Z</published>
    <link href="https://waylonwalker.com/tmux-select-pane/" rel="alternate" type="text/html"></link>
    <summary type="text">https://youtu.be/CPZJZjN9YTY</summary>
    <content type="html">&lt;p&gt;&lt;a href=&#34;https://youtu.be/CPZJZjN9YTY&#34; class=&#34;youtube-embed  has-avatar has-avatar-before&#34; style=&#34;--favicon-url: url(&amp;#39;/assets/markata/link-avatars/youtu.be.png&amp;#39;);&#34; data-favicon=&#34;/assets/markata/link-avatars/youtu.be.png&#34;&gt;https://youtu.be/CPZJZjN9YTY&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;These are my MOST often used keybindings that I use in tmux.  They allow me to&#xA;jump between splits with ease with a vim style layout.  I can hold mod and jump&#xA;between panes with a familiar arrow key.&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-h &lt;span class=&#34;k&#34;&gt;select&lt;/span&gt;-pane -L&#xA;&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; -n M-l &lt;span class=&#34;k&#34;&gt;select&lt;/span&gt;-pane -R&#xA;&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; -n M-k &lt;span class=&#34;k&#34;&gt;select&lt;/span&gt;-pane -U&#xA;&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; -n M-j &lt;span class=&#34;k&#34;&gt;select&lt;/span&gt;-pane -D&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;a href=&#34;/tmux-nav-2021/&#34; class=&#34;wikilink&#34; data-title=&#34;How I navigate tmux in 2021&#34; data-description=&#34;change_speed = (speed) =&amp;gt; [...document.querySelectorAll(&amp;#39;video&amp;#39;)].map(v =&amp;gt; v.playbackRate=v.playbackRate+speed)&#34; data-date=&#34;2021-05-11&#34; data-preview=&#34;change_speed = (speed) =&amp;gt; [...document.querySelectorAll(&amp;#39;video&amp;#39;)].map(v =&amp;gt; v.playbackRate=v.playbackRate+speed)&#34;&gt;How I navigate tmux in 2021&lt;/a&gt;&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;for more information on how I navigate tmux, check out this full post&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <email>hello@waylonwalker.com</email>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
</feed>