this post was submitted on 08 Oct 2023
574 points (89.0% liked)
Programmer Humor
19704 readers
127 users here now
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
Rules
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Vim is a pain to configure
Try Lunarvim, it's neovim with a bunch of great Plugins and configuration settings out of the box.
I'm going to give what I've realized newer folks to Vim think is a scorching hot take: VimL is nice. Theyre the same editor commands you use in your day to day life, even if you're using NeoVim + Lua, just all written out in a file.
That said, using NeoVim + Lua makes it far easier to organize your config, which also makes it easier to write more complex configs. It's like the difference between building a shed around back for your home office vs building a cathedral. Its fine to work in a shed, but once you know you can build a cathedral, you're kinda tempted to just up and do it
There are only 2 people who know VimL well enough - Bram and Tim Pope (OK, now it's 1). It's always better to leave language design to someone else - in the same way aeroplane manufacturers don't care about making their engines too. Languages need dedicated attention - careful design balancing power and intuitiveness, performance tuning of language runtime, documentation etc. That's why neovim's adoption of lua has been a revolution in the development of its plugin ecosystem.
Vim has vim9 script now which is very similar to common scripting languages like Typescript.
Vim also doesn't need tons of configuration.
Fennel > Lua > VimScript
I know it's bad to speak ill of the dead - and Bram deserves respect for his contributions and some of his political stances (I mean vim's charityware status). However, vim9 and some other decisions from him (like async mechanism) were deliberate attempts from him to create a schism between the vim and neovim user communities. Some of them were ideas he was initially not willing to accept and was proven useful by the neovim developers. Vim's choices were also not much better than Neovim's (often it's the reverse). The sudden explosion of neovim lua plugins is an example of this.
At first maybe. But when you get your vim config well honed over time you're good. Plus there's things like pathogen or other frameworks to add plugins and stuff.