Eight Years of Neo/Vim-ing Got Me Here


Over 8 years of daily usage and I’m still surprised weekly with a new motion or capability.

In this issue, I’ll be sharing insights and tips on configuring Neovim, derived from my extensive experience. Let’s dive in!

Tips for Beginners (and Advanced Users!)

  1. Start Vanilla: Well not 100% vanilla, get yourself vim-sensible and start rocking VIm until you feel confident to move on. DO NOT copy other people’s config. If you must, make sure you understand every line! This issue is my attempt at sharing mine, and while you’re reading these lines, I’ve released a video going through everything if you want to go ever deeper.
  2. Use Kickstart.nvim: This setup by TJ Devries, a core Neovim maintainer, will get you started with essential IDE features, like LSPs, Telescope and all these Neovim goodies users can’t leave without. Get kickstart.nvim

Learnings from 8 Years of Neo/Vimming

I’ve been a Vim user for almost a decade 👨‍🦳.
These are the configurations and plugins I pretty much use daily, and would consider my baseline:

My keymaps Are simple custom bindings, like jj to escape and buffer manipulations. They make my editing faster, you can check them out, but bare in mind this is the most personal-preference-based config I have.

Core Plugins:
- LSP: I really don’t know how people code without these anymore. My LSPs
- Telescope: Hands down, the best plugin for Neovim, if you count in the speed added and the extensibility features it offers! My Telescope config
- Git: Instead of listing plugins, here’s video where I cover the what, why’s and how’s
- DAP: Debugging in Neovim, sounds fictional, but you can do it too!
- Lazy: My plugin manager of choice, removing friction, reducing loading times, and an overall great experience I never had with the alternatives. Lazy.nvimand a video I made about migrating to it.

Other Plugins are all listed here. Pay special attention to those starting with tpope and folke; the two godfathers of plugins 😉

A Configuration Blueprint

I used to run a 200 lines .vimrc. Since moving to lua a few years back, I created a maintainable strcuture:

- File Structure: I keep a main init.lua and a subdirectory named lua for mappings, editor options, and plugin configurations.
- Plugins: Separate files for each plugin under lua/plugins for easy access and tweaks. Everything’s referenced from my init.lua (or it doesn’t get loaded)

Noteworthy Plugins

Since Neovim is my editor of choice for text as well, I’m quite picky about how I organize things for writing blogposts, newsletters and other text based resources. I made a video about it but these are the main plugins use for text:
- Zen Mode + Twilight: Ideal for focused writing.
- Vim Pencil: Text wrapping.
- Markdown Preview: Because markdown is better looking in the browser :)
- GPT: Can’t end a list without at least mentioning one AI plugin, can I?

Final Thoughts

My Neovim configuration is a work in progress. At some point, one must admit this state is the new constant 🥲. Both because it’s constantly evolving to suit different needs, but also, I just can’t help it with ricing my system and environments (did I hear Nix?)

I hope you found it useful. Please reply with any feedback or questions.

Have a great weekend!

Whenever you’re ready, here’s how I can help you:

ESPRESSO FRIDAYS

Every once in a while I send hand picked things I've learned. Kind of like your filter to the tech internet. No spam, I promise!

Read more from ESPRESSO FRIDAYS

This Neovim "Plugin" Replaces 40 Others You know the feeling of finding a new improvement to your setup that you KNOW is going to change it completely? "Imagine living your entire life carrying heavy loads on your back dragging things through the road thinking: `well that's just how it is`" - Homo sapiens, before the invention of the wheel That's exactly what coding without mini.nvim feels like once you've experienced its power, especially if you're Neovim setup was closer to vanilla. Will...

This $600 Keyboard's Best Feature Is Also Its Biggest Flaw I always felt like my keyboard was missing something. First, it was the ergonomic split that my wrists craved. Then, when I got my Moonlander, it was the awkward reach for crucial keys (what's up with that thumb cluster ZSA?). Until one day, I stumbled upon a keyboard that seems similar, but is very much different: the Dygma Defy, a keyboard that promised to turn my thumbs into power users. The Defy arrived like a treasure chest....

THIS Is The Terminal For People Who Just Want Things To Work Picture this: You're watching a skilled developer, one that you value their skills, repeatedly hitting the up arrow key, hunting for that command they used yesterday. Then, another senior, pops up three different default terminal windows just to show you their process running, while sending requests from the other, instead of simply splitting their terminal screen. Sound familiar? That's the reality for the vast majority of terminal...