DEV Community

Cover image for Make Vim Useful Again with VEX
Genix
Genix

Posted on

Make Vim Useful Again with VEX

Hey everyone!

After months of tweaking, testing, and countless evenings spent in the terminal, I’m really excited to share the evolution of my Vim setup into something I’m now calling VEX — the Vim Ecosystem eXtension.

What started as a personal .vimrc file slowly grew into a sprawling, hard-to-manage configuration. I wanted the power of a modern IDE—smart completion, easy navigation, seamless LSP support—but without leaving the comfort and speed of Vim. I also wanted it to work instantly, on any machine I sat down at. The result is VEX: a modern, modular, and batteries-included Vim configuration that’s just one git clone away from a full-powered editing environment.

The project lives here, fully open-source:
https://github.com/m-mdy-m/.vimrc

So, what is VEX exactly?

VEX is a complete Vim ecosystem packaged into a single repository. It’s not a new editor or a plugin; it’s a carefully curated, pre-configured environment that layers on top of your existing Vim (version 8.0+). Think of it as a distribution for Vim, focused on developer experience and consistency.

The core philosophy is sensible defaults with zero friction. You shouldn’t spend hours configuring LSP servers, setting up fuzzy finders, or getting Git integration to work. VEX handles that, providing a cohesive experience across Linux, macOS, and even WSL out of the box. The installation process is documented step-by-step, including distribution-specific notes for Linux:
https://github.com/m-mdy-m/.vimrc/blob/main/docs/installation/linux.md

What makes it different?

It’s Truly One-Command Ready
The biggest goal was eliminating setup steps. With VEX, you run make install and you’re done. It installs Vim configuration, pulls in a curated set of plugins, and can optionally install Language Server Protocol (LSP) servers for you. Start Vim, and everything—from syntax highlighting to intelligent Go-To-Definition—just works.

Modular & Customizable Installation
While the full experience is recommended, I built VEX to be flexible. Maybe you’re on a slow connection, or you only want the core config. You can install it in different modes:

  • --minimal for just the essentials
  • --skip-lsp if you want to manage your own language servers
  • --skip-plugins if you only want the VEX configuration structure

This modularity applies throughout the system. Plugins, settings, and keymaps are all documented and designed to be easy to adjust without breaking the overall setup.

A Management Layer on Top of Vim
VEX adds a lightweight command-line interface to manage your environment. Instead of remembering how to update each plugin or LSP server, you have simple commands like vex update, vex doctor, and vex plugin list. All available shell and Vim commands are documented here:
https://github.com/m-mdy-m/.vimrc/blob/main/docs/reference/commands.md

This turns Vim from a static config file into a manageable, updatable application.

Modern IDE Features, Vim Philosophy
Under the hood, VEX integrates well-known and battle-tested plugins like vim-lsp for language intelligence, fzf for fast fuzzy searching, vim-gitgutter for inline Git diffs, and vim-airline for a clean, informative status line. Key mappings are designed to feel intuitive—things like Ctrl+N for toggling the file explorer—without overriding core Vim muscle memory.

All default key mappings are documented in one place, so nothing feels “hidden”:
https://github.com/m-mdy-m/.vimrc/blob/main/docs/configuration/keymaps.md

Here’s the quick start:

git clone https://github.com/m-mdy-m/.vimrc.git vex
cd vex
make install
Enter fullscreen mode Exit fullscreen mode

Then, just run vim. The welcome screen greets you, and you're ready to code.

Built on the shoulders of the Vim ecosystem

One thing I want to be very clear about: VEX is not trying to reinvent Vim, and it’s definitely not trying to replace the ecosystem that’s been evolving for decades.

VEX exists because of that ecosystem.

Most of the heavy lifting is done by plugins many of us already know and trust—vim-plug for plugin management, vim-lsp for LSP support, fzf for fuzzy finding, vim-gitgutter for Git integration, vim-airline for the status line, plus tools like vim-surround and vim-easymotion for editing and navigation.

What VEX does differently is curation and integration. Instead of throwing plugins together and hoping they don’t fight each other, I spent a lot of time making sure they feel like parts of a single system. Key mappings don’t collide. Features are discoverable. Defaults are predictable.

Plugin behavior and management are fully documented here:
https://github.com/m-mdy-m/.vimrc/blob/main/docs/configuration/plugins.md

And the complete, authoritative plugin list lives directly in the repo:
https://github.com/m-mdy-m/.vimrc/blob/main/src/plugins/install.vim

Where VEX is headed

Right now, VEX is in a place I’m genuinely comfortable using every day. It’s stable, fast, and does what I expect without surprises. That said, it’s far from “finished”—mostly because I don’t think a developer environment ever really is.

The next phase is about refinement. Documentation will keep improving, especially for people who want to tweak settings safely. LSP support can always be smoother across more languages. And there are plenty of small quality-of-life improvements that only show up after long-term daily use.

All documentation lives in the docs/ directory and is structured around configuration, reference commands, and installation guides:
https://github.com/m-mdy-m/.vimrc/tree/main/docs

Let’s Discuss & Contribute!

I’m genuinely excited about where VEX is right now, and I’d really love to hear your thoughts and experiences.

  • Does a batteries-included Vim setup like this appeal to you, or do you prefer building everything piece by piece?
  • Which parts of Vim configuration feel empowering to you, and which parts feel like pure friction or wasted time?
  • If you tried VEX, what would you change first—keymaps, plugins, defaults, or the overall structure?

VEX started as a personal response to setup fatigue, but I don’t want it to evolve in a vacuum. Real feedback from real workflows is what shapes a tool like this in a meaningful way.

If you care about fast, focused, and distraction-free development environments—and if you believe Vim can feel modern without losing its soul—I’d love for you to join the conversation and help shape where VEX goes next.

VEX isn’t trying to be everything for everyone. It’s trying to be a solid, opinionated Vim environment that respects your time. If that resonates with you, let’s talk—what’s your take?

Top comments (0)