Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Most of the things I do with Neovim I could probably also do with VS Code (not sure about autocommands and macros though, I haven't used Code in years). I don't use a mouse much, I have a very keyboard-centric workflow. I was a Code user for years, but did most everything else in the terminal. I figured I would give it a try and I ended up just liking it. I like to tinker. I like to tweak my configuration. I like how I can set autocommands for things, pipe text into Vim and manipulate it, or record a quick macro for some repetitive task. I like that there are "Vim keymap" plugins for things like Firefox, so learning basic Vim keys has helped me outside of Vim. I like that I keep discovering new things Vim can do (and then promptly forgetting them most of the time, but still). I also like to spend 2 hours writing something to automate something that saves me two seconds.

It's absolutely not for everyone, though it looks like some of the pre-built configs (NvChad, LaZyVim, etc.) are decent enough of the box now that you don't need to go on the endless-customization journey if you don't want to. To me though, that's the appeal: tinkering, tweaking, refining. Generally when people ask if they should use Vim, I tell them probably not but try it for a few weeks and see if it clicks in your brain. I had a great VSCode setup, everything worked great, I was productive, but something about Vim just made more sense to me once I got over the hump of modes and all the keymaps you need to turn into muscle memory.

Edit: I also like that I can do abominations like:

("def" @keyword (#set! conceal "ƒ"))

("if" @keyword (#set! conceal "?"))

("unless" @keyword (#set! conceal "¿"))

("else" @keyword (#set! conceal "∶"))

("elsif" @keyword (#set! conceal "⁇"))

("case" @keyword (#set! conceal "⟨?"))

("when" @keyword (#set! conceal "→"))

("begin" @keyword (#set! conceal "⌊"))

to make Ruby look absolutely insane. Is it useful? No. Do people hate it when I share my screen? Yes.



I'll second the enjoyable parts of Neovim shared above, and add a few more of my own: - vi uses most of the same default keybindings, which is available across most distros (in busybox). Meaning I can use the same keybindings in a docker container, appliance server, etc. - With the conform[1] plugin, I can add any CLI code/text formatters that might not be available as a vscode extension. As long as it takes a file/stdin and outputs a file/stdout.

[1] https://github.com/stevearc/conform.nvim




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: