out of curiousity, since I feel like most of the time I touch any vi derivative it’s because I need a text editor on a command line, not because I really really wanna use it

  • @[email protected]
    link
    fedilink
    81 year ago

    I’ve used IdeaVim, Vim, and Neovim for probably around 6 or 7 years or so, and wouldn’t switch from it. There are three of the main things I would bring out out, but there are probably many more:

    1. It’s comfortable (for me) and fun. I’m so used to the keybindings that I don’t need to think about them at all. I just think that I need to change something, and it’s already done. It’s like magic! Flying through code like that is super enjoyable. I find that none of the IDE vim plugins quite hit the mark for me. I might need to try them out once again, as it has been a while since I last did, but I’m already quite used to the real ones.
    2. It’s super extensible and configurable. You can really make it your own. I know that you can use plugins in VSCode (and there are a huge amount), and even write plugins yourself, but it’s so easy in Neovim. I think that a strength of Neovim is that you’re using a programming language for configuring your editor. There isn’t a huge leap when going from creating your first keybinding to making it do something extra that you need in your own workflows. I wrote an article recently, related to this exact thing: https://medium.com/scoro-engineering/5-smart-mini-snippets-for-making-text-editing-more-fun-in-neovim-b55ffb96325a
    3. It’s fast. This isn’t that important to me, but it’s still something that makes day-to-day programming less of a drag. I can start Neovim in less than a second and there’s virtually no text input lag. I’ve seen how co-workers’ PHPStorm takes a minute or two to start up, and that seems quite upsetting.

    There are other minor reasons like being open source, having a vibrant community, and being in the terminal, but those are less important to me than the big three.

    I don’t really miss using a full IDE, because my Neovim already does everything I need it to do. It’s also lean as I know all the pieces that go into it and there isn’t anything unnecessary. I have completion that’s as smart as VSCode, but I don’t have a plugin for running tests inside the editor because I run them in the terminal.

    Overall, I’m quite happy that I chose to try out Vim. It’s made editing code more fun, and that’s already a big win, I think.