Skip to content
Aleksandar Gosevski

Why building your own Vim configuration is worth it

in

As the (neo)vim community continues to grow, various preconfigured distros have emerged, making it tempting for people new to vim to opt for these ready-to-use setups. However, I believe this approach is not ideal because the true essence of vim lies in personalization. While it’s perfectly fine to draw inspiration from other configurations, learn new tricks, and borrow snippets, it’s crucial to tailor your mappings and settings to suit your needs and preferences.

Embracing (Neo)Vim’s Flexibility

Vim, at its core, is a simple editor that gains complexity through our customization. By relying on someone else’s preconfigured setup, we forfeit the opportunity to explore and discover what truly works for us. I used to rely on popular plugins for status lines, but eventually found them to be more of a distraction than a helpful tool. This led me to remove the status line entirely and map a few keys to show me the current branch and file name when needed. Achieving that kind of personalized productivity boost is difficult with preconfigured distros.

Overcoming Common Excuses

Some may claim that using preconfigured distros is easier because they find vim daunting or lack the time to invest in customization. However, vim is designed for productivity enthusiasts, and if you genuinely enjoy it, you’ll find the time and motivation to make it your own. With abundant resources like YouTube tutorials, blog posts, and official documentation, the excuse that it is “hard” loses its validity. It simply requires patience and dedication.

Getting Started

Instead of diving straight into vim, I recommend activating vim mode within your current editor. Familiarize yourself with fundamental vim motions, which can be learned within a week. Trust me, once you adapt to this workflow, there’s no turning back. Start by replacing basic movements, such as using b for option+left, w for option+right, ^ for cmd+left, and $ for cmd+right. Once you feel comfortable with these motions, gradually incorporate keybinding combinations like ciw, di{, diW, and more. After a few weeks of practicing, when your speed matches or surpasses your previous setup, begin building your own configuration. Start simple, including only the necessary elements, perhaps a fuzzy finder. Remember that you don’t necessarily need an LSP (Language Server Protocol); I wrote good code without it for a decade. If you still yearn for LSP functionality, you could consider trying kickstart.nvim temporarily to quickly get up to speed.

In conclusion, creating your own vim configuration is a rewarding journey that allows you to unleash the full potential of this powerful editor. It’s a process that fosters productivity, customization, and an overall enjoyable coding experience. Embrace the flexibility of vim and embark on the path to making it truly yours.