Vim

Why use Vim?

Pros

  • ✅ Keyboard only
  • ✅ Much easier to customize keyboard shortcuts
  • ✅ Building your own editor can be a fun side project
  • ✅ Encourages learning terminal tools
  • ✅ Loads more quickly
  • ✅ Requires less CPU and memory

Cons

  • 😭 Pairing with your team may be less intuitive
  • 😭 Must configure all IDE features yourself
  • 😭 Buggy plugin updates can break your editor
  • 😭 Learning curve starts out steep and time-consuming
  • 😭 Neovim is supported by a smaller team than VS Code

Alternatives

  • 🐘 VS Code is the obvious one -- most developers use it and it's well maintained

When to choose it

  • 🥳 You're excited by the idea of a customized editor
  • 🖐️ You're experiencing RSI symptoms
  • ⏱️ You have spare time to learn and debug a new tool

Research

How to start using Vim?

Create a starter configuration

  • official neovim starter
  • LazyVim for a starter configuration that’s easy to customize with help from the great docs and active community support in the project’s GitHub Discussions.
  • nvimchad

Learn basic Vim movements

Improve your keymaps

  • Vim’s main feature is the ability to map any action to any keyboard shortcut you like

  • Explore the LazyVim defaults and experiment with changing some of them so they make more sense to you

  • 📺 How to setup your Vim RC • ThePrimeagen

Learn slowly

  • Take your time
  • It’s easy to get overwhelmed if you try to learn and update everything at once
  • Solve your pain points one-at-a-time and beware changing multiple things at the same time — if something’s broken, it‘ll be harder to figure out what to fix.