<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Neovim on 🐈Natalie Perret🍫</title>
    <link>https://natalie-o-perret.github.io/tags/neovim/</link>
    <description>Recent content in Neovim on 🐈Natalie Perret🍫</description>
    <generator>Hugo -- 0.157.0</generator>
    <language>en</language>
    <lastBuildDate>Wed, 01 Jan 2020 12:04:00 +0200</lastBuildDate>
    <atom:link href="https://natalie-o-perret.github.io/tags/neovim/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Learning Neovim &gt; 4: Search &amp; Replace</title>
      <link>https://natalie-o-perret.github.io/posts/tech/tools/neovim/4-search-and-replace/</link>
      <pubDate>Wed, 01 Jan 2020 12:04:00 +0200</pubDate>
      <guid>https://natalie-o-perret.github.io/posts/tech/tools/neovim/4-search-and-replace/</guid>
      <description>&lt;p&gt;Neovim&amp;rsquo;s search and replace capabilities are powerful once you know the commands. This article covers basic search, incremental search settings, and running external commands.&lt;/p&gt;
&lt;h2 id=&#34;search&#34;&gt;Search&lt;/h2&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Key&lt;/th&gt;
          &lt;th&gt;Action&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;/&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Search forward&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;?&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Search backward&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;n&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Jump to next match (downward)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;N&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Jump to previous match (upward)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;Enter&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Confirm and lock on that line after search&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Type &lt;code&gt;/searchterm&lt;/code&gt; and press &lt;code&gt;Enter&lt;/code&gt;. Use &lt;code&gt;n&lt;/code&gt; / &lt;code&gt;N&lt;/code&gt; to cycle through matches.&lt;/p&gt;
&lt;h2 id=&#34;incremental-search-settings&#34;&gt;Incremental Search Settings&lt;/h2&gt;
&lt;p&gt;These Ex commands tweak search behaviour and can be added to your &lt;code&gt;init.lua&lt;/code&gt;/&lt;code&gt;init.vim&lt;/code&gt;:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Learning Neovim &gt; 3: Insert &amp; Visual Modes</title>
      <link>https://natalie-o-perret.github.io/posts/tech/tools/neovim/3-insert-and-visual-modes/</link>
      <pubDate>Wed, 01 Jan 2020 12:03:00 +0200</pubDate>
      <guid>https://natalie-o-perret.github.io/posts/tech/tools/neovim/3-insert-and-visual-modes/</guid>
      <description>&lt;p&gt;Neovim is a &lt;strong&gt;modal editor&lt;/strong&gt; - every mode has a distinct purpose. This article covers the three modes you&amp;rsquo;ll use alongside Normal mode: Insert, Visual, and Command.&lt;/p&gt;
&lt;h2 id=&#34;insert-mode-variants&#34;&gt;Insert Mode Variants&lt;/h2&gt;
&lt;p&gt;Entering Insert mode is intentional; there are several entry points depending on where you want the cursor:&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Key&lt;/th&gt;
          &lt;th&gt;Action&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;i&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Insert before current character&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;a&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Insert after current character&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;A&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Append at end of line&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;o&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Open new line below + enter Insert mode&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;O&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Open new line above + enter Insert mode&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;Esc&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Return to Normal mode&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;visual-mode&#34;&gt;Visual Mode&lt;/h2&gt;
&lt;p&gt;Visual mode lets you select text before applying an operator.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Learning Neovim &gt; 2: Editing Operators</title>
      <link>https://natalie-o-perret.github.io/posts/tech/tools/neovim/2-editing-operators/</link>
      <pubDate>Wed, 01 Jan 2020 12:02:00 +0200</pubDate>
      <guid>https://natalie-o-perret.github.io/posts/tech/tools/neovim/2-editing-operators/</guid>
      <description>&lt;p&gt;Neovim&amp;rsquo;s editing model is built on &lt;strong&gt;operators + motions&lt;/strong&gt;. An operator performs an action (delete, change, yank…), and a motion tells it how far to reach.&lt;/p&gt;
&lt;h2 id=&#34;delete&#34;&gt;Delete&lt;/h2&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Key&lt;/th&gt;
          &lt;th&gt;Action&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;dw&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Delete to start of next word&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;d$&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Delete to end of line&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;dd&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Delete whole line&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;x&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Delete character under cursor&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;d[motion]&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Delete + any motion (e.g. &lt;code&gt;d3w&lt;/code&gt;, &lt;code&gt;dG&lt;/code&gt;)&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;change&#34;&gt;Change&lt;/h2&gt;
&lt;p&gt;Change operators delete text &lt;strong&gt;and&lt;/strong&gt; drop you into Insert mode.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Learning Neovim &gt; 1: Normal Mode Navigation</title>
      <link>https://natalie-o-perret.github.io/posts/tech/tools/neovim/1-normal-mode-navigation/</link>
      <pubDate>Wed, 01 Jan 2020 12:01:00 +0200</pubDate>
      <guid>https://natalie-o-perret.github.io/posts/tech/tools/neovim/1-normal-mode-navigation/</guid>
      <description>&lt;p&gt;Normal mode is where you spend most of your time in Neovim. Mastering these navigation commands is the single biggest productivity unlock.&lt;/p&gt;
&lt;h2 id=&#34;cursor-movement&#34;&gt;Cursor Movement&lt;/h2&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Key&lt;/th&gt;
          &lt;th&gt;Action&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;h&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Move left&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;j&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Move down&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;k&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Move up&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;l&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Move right&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;w&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Jump to next word start&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;e&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Jump to end of current/next word&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;b&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Jump to beginning of word&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;$&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Jump to end of line&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Jump to start of line&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;word-level-navigation&#34;&gt;Word-Level Navigation&lt;/h2&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Key&lt;/th&gt;
          &lt;th&gt;Action&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;2w&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Move 2 words forward&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;3e&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Jump to end of the 3rd word&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Any motion can be prefixed with a &lt;strong&gt;count&lt;/strong&gt; - &lt;code&gt;[n][motion]&lt;/code&gt; repeats the motion &lt;code&gt;n&lt;/code&gt; times.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
