3 ms·
The thing about vim and emacs is that both of them, out of the box, suck. BUT, what they both offer better than anything else, is the ability to gradually modif
by masukomi 3y ago
The thing about vim and emacs is that both of them, out of the box, suck. BUT, what they both offer better than anything else, is the ability to gradually modify them to match what your brain needs.
I 100% agree with your hyperbolic "200 keybinds to make a view component" But that's ...that's not how it works unless that's what your brain wants.
With ALL editors you eventually encounter "ugh, this is frustrating" or "i wish i didn't have to do that" and then you have 30+ years of plugins and configs you can draw on to modify it to match your liking without any coding. VERY rarely, you'll want to tweak it in a way that there isn't a plugin / config for and you'll find communities of very helpful people who'll respond with "what about this solution..."
The fact is that _your_ brain is different from everyone else's. The less configurable an editor is the less it will be able to support the way your brain likes to work.
You _can_ accept pre-made defaults like those provided by VSCode OR you can gradually refine your editor to be a perfectly crafted tool for your particular and very individual way of thinking.
I choose the latter because i spend SO much time staring at my editor and trying to convince it to do things that are almost always better with automated assistance from it.
- BanazirGalbasi 3y ago> You _can_ accept pre-made defaults In my case, I'd prefer to do so. I'm a different use-case though, I'm a server admin so I want to be as comfortable with bare-bones defaults as possible so that I can jump on any server and just use Vim (or sometime just vi!). I can't afford the time it would take to set up a custom config on every server in every environment, so the most I need is a basic .vimrc that has `set number` and a couple netrw tweaks that I can copy with scp and get going. Most of the time I don't even copy that over and run `:set number` when I open a file. Note that I'm still an intermediate Vim user at best, splits and markers are the most complex features I use (no macros yet). I know I can edit remote files, so maybe once I'm comfortable with that then I can set up some real customization in each environment.
- linsomniac 3y agoSysadm here as well, been using vi since the '80s. A year or so ago I threw away all my custom vimrc and went with (nearly) bone stock LunarVim, and have really enjoyed getting off the treadmill of maintaining a custom vim setup. Partly because of the 100s of machines issue, partly because of managing plugins and interactions between them. I program maybe 5% of the time, so the stuff I do to make it IDE-like often isn't worth maintaining for that 5% time, so I often end up with partially working plugins or whatnot. LunarVIM has been a bit tricky, mostly related to upgrades around LunarVIM, usually neovim updates. But, the capabilities of having Language Server in vim have been so refreshing! Particularly when working with Python 2 code to bring it up to Python 3, pretty much just follow what Language Server says. When it gets right down to it, there are only a couple little tweaks from my old setup I want to carry over, everything else I want to go back to using defaults (places where I've diverged my own functionality) and stop pushing around a poorly maintained manual config that gives me 10% of what Lunar or similar gives.
- dngray 3y agoOne of the things I noticed about LunarVim is that they were not very receptive about it in the official NeoVim rooms whereas people there (including NeoVim developers) were quite positive about LazyVim. The other alternative they suggested was https://github.com/echasnovski/mini.nvim https://github.com/echasnovski/mini.nvim TLDR is that with the global lvim object, custom path, breakages because of unstable plugins it causes a lot of support issues where people go to the official NeoVim channel and not the LunarVim one. I switched to LazyVim, which is developed by folke (one of the main developers of most of the plugins (trouble.nvim, tokyonight, which-key, lazy.nvim etc) https://github.com/folke?tab=repositories https://github.com/folke?tab=repositories) the other "vim distributions" use anyway. It worked out of the box, the method of simply overriding a few settings https://www.lazyvim.org/configuration/general https://www.lazyvim.org/configuration/general was a lot easier to understand. I'm also very happy I only maintain now "one configuration", I really disliked having "nvim" and "lvim" simultaneously on the same machine. The method of checking out the "starter" repo https://www.lazyvim.org/installation https://www.lazyvim.org/installation and simply deleting the .git folder is a LOT nicer than an annoying installation script that does a gazillion things (LunarVim).
- majkinetor 3y agoExactly. You absolutely need maximum configurability for the most important tools in your arsenal. You can pass with defaults on less used tools but everyday stuff should be as efficient as possible. In my case those tools are editor, shell, browser, OS, media player - they are customized extensivelly.
- mbrochh 3y agoNonsense. I've been using Vim for 15 years and I don't have any special keybindings. It absolutely does not "suck out of the box".