Live data from Hacker News

Neovim 0.7 Released

github.com

21–30 of 220 posts

Re: Neovim 0.7 Released

#21
post #7

I love Neovim. It's been my main editor for years now. The way it handles terminal sessions is so much better than vanilla Vim. Also LSP rocks.

What do you mean by "terminal sessions"? I use vim inside regular xterms or tmux. Am I using such terminal sessions already? What would be different in nvim?

Both vim and neovim have the ability to open a terminal in a window split. It's not my preferred workflow but some people really like it rather than tmux or ctel-z to drop onto a shell... the implementation of this feature in neovim is a lot nicer than the one in vim.

One thing i do use it for: In neovim there's options to open the terminal as a sort of overlay on top of the existing splits, they call it floating term. Its really nice for opening tools ( e.g. lazygit or a test runner) because find it a bit less disruptive than having to bounce in and out of the editor by other means.

Re: Neovim 0.7 Released

#22
post #5

Earlier quoted context omitted.

> I will never understand why people choose VSCode/Jetbrains over a terminal based editor. I don't want to use my valuable time learning how to get vim working in some super-optimal way that's hypothetically going to improve my productivity by 1%. JetBrains consistently works well enough for me that I'm not going to bother switching. 90% of my life is spent thinking about how to solve the problem so the editor is not…

It's a weekend of learning for a tool that you use your entire life. Any computer scientist should realize the power of amortization.

I do not know how your brain is wired, but vim is certainly not a weekend's learning (speaking from experience).

Re: Neovim 0.7 Released

#23

Earlier quoted context omitted.

Vim/Neovim/Emacs/etc. require a certain "commitment" to them - you have to learn keybindings, for example. Moreover, if you want any fancy IDE features you're addicted to, like hints, autocomplete, static analysis, refactoring, etc. you have to configure it yourself, which still isn't quite straightforward as selecting a plugin in VSCode (perhaps this is a good feature idea?). Most people just don't think it's worth…

There's 0 configuring. It's as simple as installing one of the many LSP clients, like ALE, that will automatically detect and start a language server for you with the right arguments.

If that's true, I'd really like to try that. I've never heard of ALE, so thanks for that.

Still, the fact is that you have to know what to install. It's not like the NeoVim manpage mentions any LSP clients. So it requires a lot of tinkering, reading and participating in the community to figure out how to do stuff. That's exactly opposite of 0-configuring.

If NeoVim could bundle an LSP client with it, and have a config key to enable it, that'd be dope.

Re: Neovim 0.7 Released

#25

I will never understand why people choose VSCode/Jetbrains over a terminal based editor. I can edit the kernel with clangd and get hover reference, autocomplete, go to def, ref, dec, smart refactor, and that's on top of being able to easily jump and fix lint/bugs using Vim's already great support for parsing compiler errors. With term added (which is a core Vim feature) it also has excellent support for gdb debugging…

One of these days I really need to sit down and commit to learning to use Vim at this level. I always use Vim when I'm editing from a terminal but generally stick with VSCode or the Jetbrains family of IDEs for any real coding projects. I've just never gotten around to learning vim in a more advanced way than edit, replace, copy paste, skip to line and search. Any good suggestions on where to start? I looked at Space…

I think it makes sense to start from scratch and learn new features step by step, otherwise it quickly becomes overwhelming. I made some videos on how to configure Neovim, maybe you'll find it useful: https://youtube.com/playlist?list=PLu-ydI-PCl0OEG0ZEqLRRuCrM...

Re: Neovim 0.7 Released

#27

Earlier quoted context omitted.

Vim/Neovim/Emacs/etc. require a certain "commitment" to them - you have to learn keybindings, for example. Moreover, if you want any fancy IDE features you're addicted to, like hints, autocomplete, static analysis, refactoring, etc. you have to configure it yourself, which still isn't quite straightforward as selecting a plugin in VSCode (perhaps this is a good feature idea?). Most people just don't think it's worth…

There's 0 configuring. It's as simple as installing one of the many LSP clients, like ALE, that will automatically detect and start a language server for you with the right arguments.

You and I must have different definitions of "0 configuring". There is no "one" LSP client, so every time I want to spend time training my vim muscle I have to research basically which one [is the best/has the most problems or users], whether the language server works well with it, figure out which plugin manager I should be using, write down and remember the shortcuts to invoke my plugin manager, set up key bindings, set some more configuration flags, then maybe have something working by the end of the day.

After all that, yea I'm more productive but I think the large barrier of entry to CLI editors is what keeps people using IDEs and their Electron cousins.

Re: Neovim 0.7 Released

#28
post #7

Earlier quoted context omitted.

What do you mean by "terminal sessions"? I use vim inside regular xterms or tmux. Am I using such terminal sessions already? What would be different in nvim?

Both vim and neovim have the ability to open a terminal in a window split. It's not my preferred workflow but some people really like it rather than tmux or ctel-z to drop onto a shell... the implementation of this feature in neovim is a lot nicer than the one in vim. One thing i do use it for: In neovim there's options to open the terminal as a sort of overlay on top of the existing splits, they call it floating ter…

Why wouldn't you set the makeprg and have it populate the quickfix list instead?

Re: Neovim 0.7 Released

#29

I will never understand why people choose VSCode/Jetbrains over a terminal based editor. I can edit the kernel with clangd and get hover reference, autocomplete, go to def, ref, dec, smart refactor, and that's on top of being able to easily jump and fix lint/bugs using Vim's already great support for parsing compiler errors. With term added (which is a core Vim feature) it also has excellent support for gdb debugging…

One of these days I really need to sit down and commit to learning to use Vim at this level. I always use Vim when I'm editing from a terminal but generally stick with VSCode or the Jetbrains family of IDEs for any real coding projects. I've just never gotten around to learning vim in a more advanced way than edit, replace, copy paste, skip to line and search. Any good suggestions on where to start? I looked at Space…

For "base" Vim (pre-neovim), the Practical Vim book and Vimcasts by Drew Neil were very helpful.

To get the muscle memory, try blocking the arrow keys in your config or even hiding the cursor (I'm serious, I once had this unintentionally and realized that because I was so used to Vim movements I didn't even need to see the cursor in normal mode).

The vim way is: stay in normal mode, learn to move efficiently with searching, jump to char, forward/backward words etc.

Don't use a prepackaged config. Refrain from plugins until you know for sure what you want.

Re: Neovim 0.7 Released

#30

Earlier quoted context omitted.

One of these days I really need to sit down and commit to learning to use Vim at this level. I always use Vim when I'm editing from a terminal but generally stick with VSCode or the Jetbrains family of IDEs for any real coding projects. I've just never gotten around to learning vim in a more advanced way than edit, replace, copy paste, skip to line and search. Any good suggestions on where to start? I looked at Space…

I think it makes sense to start from scratch and learn new features step by step, otherwise it quickly becomes overwhelming. I made some videos on how to configure Neovim, maybe you'll find it useful: https://youtube.com/playlist?list=PLu-ydI-PCl0OEG0ZEqLRRuCrM...

Thanks! I'll check them out.

IMO that approach makes the most sense too.

Post reply on HN