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
- ✍️ Writing Your Docs • Blurb about it
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
- 📺 Vim Alphabet • Michael Chan
- 📺 Vim As Your Editor • ThePrimeagen
- 📺 Vim Beginners Guide • LearnLinuxTV
- 📺 Learning Vim in a Week • Mike Coutermarsh
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.