I adore Vim, I use it every day, and I wouldn’t dream of switching to anything else, but every once in a while I’m reminded of another thing about it that is just unequivocally bad and indefensible.
I was reading about the “CoC” plugin (“Conqueror of Completion”) this morning when I thought, “Wait, can’t Omni completion do some of that?” So I opened up Vim with a minimal
.vimrc and typed:
So how have Vim users been getting by?
Vim doesn’t accept PRs as commonly understood. For one, if you do submit a PR, there is no team of people that might review it and merge it; there is only Bram Moolenaar, Vim’s Benevolent Dictator for Life. Second, this will not happen via standard VCS channels; Bram will write his own patch based on your work, if and when he gets around to it.
(I mean absolutely no ill will against this maintainer, or Bram for that matter. Contributing to open source is often thankless work done on evenings and weekends, though I do believe the processes around such a vital editor could be improved.)
Ah!, you might now be thinking, But what about Neovim?
I’m certainly no expert, but I would love to see four things happen to Vim:
- Bram: Find two people you trust to review PRs, and merge them as PRs.
- Syntax and language file maintainers: Put your files in a GitHub repo and open them to PRs.
- Neovim: More aggressively question your dependencies on upstream Vim for progress.
- Plugin writers: Consider submitting your “improved language support” plugins to core Vim, rather than forking core functionality and perpetuating a dependency on plugins.
I sometimes get defensive when people say that Vim users are crazy or have stockholm syndrome, but sometimes I think they might be right.