Neovim Fundamentals

So you have made the decision to jump into Neovim, and looking for a place to get started.

Like any new skill, learning the first few basics can seem challenging, but once you get past them you will become proficient with Neovim in no time. At that point, the adrenaline rush that comes with Neovim proficiency leaves us wanting more, and at this critical juncture new users can take one of two paths:

The first path looks a bit like this:

  1. Search the internet to see all of the cool configurations people show off
  2. Install a bunch of popular plugins
  3. Copy & paste snippets of code into their configuration file
  4. Get frustrated because things stop working as expected
  5. Conclude that Neovim is difficult

The second path looks a bit like this:

  1. Learn stock Neovim to understand the basics of using the editor
  2. Identify specific improvements that can be made to suit your workflow
  3. Assess a few potential solutions then select the solution that works the best for you
  4. Continue working until another improvement is identified
  5. Iterate as your skill level and needs evolve over time

In other words, mastering Neovim is more of a marathon than a sprint.

It helps to start by understanding what you want to achieve with Neovim. Are you looking for a full IDE, or a text editor? Are you drawn to Neovim for its speed and efficiency, or do you plan to configure every last aspect of how it works?

Each of us will have slightly different answers.

We prefer to follow the Unix philosophy - each tool in our arsenal should do one thing and do it well.

As such, we rely on Neovim as an excellent text editor, then use other tools to manage our git repositories, etc. When it makes sense to do so, we can create a thin wrapper within Neovim to provide just the functionality that we need within Neovim. We generally limit our plugins to only those that truly provide unique functionality that we can't achieve with stock Neovim or with our own personal plugins or user-commands.

Regardless of your philosophy, our goal is to start from the basics and slowly build proficiency with Neovim, then progress to more advanced topics such as configuration and plugins.

Let's get started!