<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:media="http://search.yahoo.com/mrss/">
  <channel>
    <title>Keyboard Shortcuts · Jared Lynskey</title>
    <link>https://jared.lynskey.co.nz/en/tags/keyboard-shortcuts/</link>
    <description>Short stories of value on software engineering and engineering leadership — performance reviews, hiring and scaling teams, CI/CD, DevOps monitoring and agentic AI. Written from Seoul.</description>
    <generator>Hugo</generator>
    <language>en</language>
    <copyright>© 2026 Jared Lynskey</copyright>
    <lastBuildDate>Wed, 28 Oct 2026 00:00:00 +1300</lastBuildDate>
    <atom:link href="https://jared.lynskey.co.nz/en/tags/keyboard-shortcuts/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Keyboard Shortcuts for Programmers on a Mac: Terminal, Vim, VS Code and Chrome DevTools</title>
      <link>https://jared.lynskey.co.nz/en/posts/2021/2021-12-19-commands/</link>
      <guid isPermaLink="true">https://jared.lynskey.co.nz/en/posts/2021/2021-12-19-commands/</guid>
      <pubDate>Sun, 19 Dec 2021 11:30:03 +0000</pubDate>
      <dc:creator>Jared Lynskey</dc:creator>
      <category>Keyboard Shortcuts</category>
      <category>macOS</category>
      <category>Terminal</category>
      <category>Vim</category>
      <category>VS Code</category>
      <category>Chrome DevTools</category>
      <category>Productivity</category>
      <category>Developer Tools</category>
      <description>The Mac keyboard shortcuts I use as a programmer, checked against each app&#39;s docs: macOS windows and Spaces, Terminal, Vim, VS Code, Chrome DevTools and Slack.</description>
      <content:encoded><![CDATA[<p>These are the keyboard shortcuts I actually use as a programmer on a Mac: moving between windows and Spaces in macOS, Terminal, Vim, VS Code, Chrome DevTools and Slack. Nothing exotic, just the ones that have stuck. They&rsquo;re all default bindings, checked against each app&rsquo;s own documentation, so if you&rsquo;ve remapped keys yours may differ. On many Mac keyboards the top row does brightness and volume, so for anything with an <code>F</code> key you may need to hold <code>fn</code> as well.</p>

<h2 class="relative group">Mac
    <div id="mac" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#mac" aria-label="Anchor">#</a>
    </span>
    
</h2>
<ul>
<li><code>ctrl</code> + <code>←</code> / <code>→</code> — move between Spaces (desktops)</li>
<li><code>ctrl</code> + <code>↑</code> — open Mission Control</li>
<li><code>cmd</code> + <code>tab</code> — switch between apps</li>
<li><code>cmd</code> + <code>`</code> — switch between windows of the app you&rsquo;re in</li>
<li><code>ctrl</code> + <code>cmd</code> + <code>f</code> — toggle full screen, in apps that support it</li>
<li><code>cmd</code> + <code>w</code> — close the front window (<code>option</code> + <code>cmd</code> + <code>w</code> closes all of the app&rsquo;s windows)</li>
</ul>

<h2 class="relative group">Vim
    <div id="vim" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#vim" aria-label="Anchor">#</a>
    </span>
    
</h2>
<ul>
<li><code>vimtutor</code> — Vim&rsquo;s built-in tutorial, run it straight from your shell</li>
<li><code>v</code> — visual mode, selecting by character</li>
<li><code>V</code> — visual mode, selecting whole lines</li>
<li><code>ctrl</code> + <code>v</code> — visual block mode, selecting a rectangle of columns</li>
<li><code>y</code> — yank (copy) the selection</li>
</ul>

<h2 class="relative group">Terminal
    <div id="terminal" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#terminal" aria-label="Anchor">#</a>
    </span>
    
</h2>
<ul>
<li><code>sudo !!</code> — re-run the last command with sudo (that&rsquo;s the shell&rsquo;s history expansion, so it works in zsh or bash in any terminal app)</li>
<li><code>cmd</code> + <code>t</code> — new tab</li>
<li><code>cmd</code> + <code>n</code> — new window</li>
<li><code>cmd</code> + <code>w</code> — close the tab; <code>shift</code> + <code>cmd</code> + <code>w</code> closes the window</li>
<li><code>ctrl</code> + <code>tab</code> / <code>ctrl</code> + <code>shift</code> + <code>tab</code> — next / previous tab</li>
<li><code>cmd</code> + <code>d</code> — split the window into two panes</li>
<li><code>shift</code> + <code>cmd</code> + <code>d</code> — close the split pane</li>
</ul>

<h2 class="relative group">VS Code
    <div id="vs-code" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#vs-code" aria-label="Anchor">#</a>
    </span>
    
</h2>
<ul>
<li><code>cmd</code> + <code>p</code> — Quick Open: jump to any file by typing part of its name</li>
<li><code>shift</code> + <code>cmd</code> + <code>p</code> — the Command Palette (<code>F1</code> works too)</li>
<li><code>cmd</code> + <code>d</code> — add the next occurrence of the selection, so you can edit them all with multiple cursors</li>
<li><code>option</code> + click — add a cursor where you click (<code>option</code> + <code>cmd</code> + <code>↑</code> / <code>↓</code> adds one above or below)</li>
<li><code>option</code> + <code>↑</code> / <code>↓</code> — move the current line up or down</li>
<li><code>shift</code> + <code>option</code> + <code>↑</code> / <code>↓</code> — copy the current line up or down</li>
<li><code>cmd</code> + <code>/</code> — toggle a line comment</li>
<li><code>F12</code> — go to definition</li>
<li><code>ctrl</code> + <code>`</code> — show or hide the integrated terminal</li>
</ul>

<h2 class="relative group">Chrome DevTools
    <div id="chrome-devtools" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#chrome-devtools" aria-label="Anchor">#</a>
    </span>
    
</h2>
<ul>
<li><code>option</code> + <code>cmd</code> + <code>i</code> — open DevTools on whichever panel you used last</li>
<li><code>option</code> + <code>cmd</code> + <code>j</code> — open DevTools on the Console</li>
<li><code>shift</code> + <code>cmd</code> + <code>c</code> — inspect element: click anything on the page to jump to it in the Elements panel</li>
<li><code>shift</code> + <code>cmd</code> + <code>p</code> — with DevTools open, the Command Menu (type &ldquo;screenshot&rdquo;, for example)</li>
<li><code>shift</code> + <code>cmd</code> + <code>r</code> — hard reload, fetching the page&rsquo;s files again instead of using the cache</li>
</ul>

<h2 class="relative group">Slack
    <div id="slack" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#slack" aria-label="Anchor">#</a>
    </span>
    
</h2>
<ul>
<li><code>cmd</code> + <code>k</code> — jump to a conversation: type part of a channel or person&rsquo;s name and press Enter (in recent versions the same box searches too)</li>
<li><code>F6</code> — move focus to the next section (<code>shift</code> + <code>F6</code> goes back)</li>
<li><code>cmd</code> + <code>/</code> — see all of Slack&rsquo;s shortcuts</li>
</ul>
]]></content:encoded>
      <media:content url="https://jared.lynskey.co.nz/en/posts/2021/2021-12-19-commands/featured.jpeg" medium="image" type="image/jpeg" />
    </item>
  </channel>
</rss>
