Live data from Hacker News

Neovim 0.5 is overpowering

crispgm.com

231–240 of 429 posts

Re: Neovim 0.5 is overpowering

#231

Have used Neovim 0.5 for quite some time now. It has been an incredible experience and I cannot see myself moving away. Prior to this I was using coc.nvim. Over the last many months, the Neovim community has certainly lowered the barrier to entry configuring LSP. There were a few times I spent way too many hours attempting to get everything playing well together. The installation process has become much more streamli…

Why has it been incredible?

The native LSP support is solid (auto-completion, diagnostic feedback) and there are a wide variety of plugin options to improve the experience e.g. trouble.nvim. Also, Treesitter syntax highlighting makes a notable difference in my experience. The further possibilities with TS are outlined in this thread. Plus the community has shown that Lua support is helping building a solid ecosystem surrounding the new native features. It's really on a different level from YCM, coc, ALE..

Re: Neovim 0.5 is overpowering

#232

I don't want to be flamed or start a debate about the values of one or the other, but why should someone in 2021 go through the hassle of setting up (neo)vim or any other terminal or barebones editor (looking at you emacs) when there's perfect solutions out there that work out of the box with a lot of features that neovim has. For example VSCode uses LSP "natively" and even has an excellent vi emulator you can instal…

> VSCode uses LSP "natively“ What do you mean by this? Is it some kind of same address space thing rather than LSP servers over sockets?

I thought they meant as opposed to, say, emacs where the LSP client has to be installed as a 3rd-party package (eglot or lsp-mode). As you say, the server is in a different process by definition of LSP. I don't know vim but from skimming the article it sounded like, until neovim 0.5, for vim one also had to install the LSP client as a plugin. In VSCode in contrast, the LSP client is native in the sense that it is built into VSCode. That makes a big difference from Emacs at least, because the LSP clients (eglot at least) are still under heavy development.

Re: Neovim 0.5 is overpowering

#233

I'm most excited for the treesitter integration and its potential to amplify Vim's "killer feature": text editing as a language. Vim's editing language feels most powerful when I'm using its text objects: "ciw" means "change in word", "cis" means "change in sentence", and so on. But Vim's built-in text objects are not always a perfect match for the code you're editing. Suppose you want to change the first argument of…

I just have vim-angry installed. It gives me "cia" and friends, though without the count you mention.

Sounds like treesitter will have more flexibility, but for now the vim-angry plugin does what I need it to :-)

Re: Neovim 0.5 is overpowering

#234
post #71

I don't want to be flamed or start a debate about the values of one or the other, but why should someone in 2021 go through the hassle of setting up (neo)vim or any other terminal or barebones editor (looking at you emacs) when there's perfect solutions out there that work out of the box with a lot of features that neovim has. For example VSCode uses LSP "natively" and even has an excellent vi emulator you can instal…

Vim does not spy on you and does not lag when pressing buttons. Why use inferior Microsoft products?

You appear to be 5-10 years out of date. Typescript, VSCode, Lean, are all "microsoft products", and if you think they are inferior you'd have to explain that view to a lot of well-informed people. Even LSP -- the basis of sanity in modern text editing -- originates and is stewarded by Microsoft.

Edit: Microsoft also funds some of the work on the Haskell compiler as I understand it. On the other hand I unfortunately now have to use crap like Outlook and Office 365 at work, so it's not like I don't understand the dismissive "inferior microsoft products" but we really can't say that any longer when talking about development environment tooling (which is what TFA is about) and programming languages.

Re: Neovim 0.5 is overpowering

#235
post #212

I'm in the curiously rare position of being a long time Neo/vim user who doesn't use its modal features. Namely I have all my keybindings setup like a "normal" editor, CTRL+S to save etc. I say it's curious because I've always been surprised that Neo/vim is mainly celebrated as "that modal editor". Whereas for me I celebrate it as the most feature-packed and lightweight terminal editor. Neo/vim is sooo much more than…

You just didn't dig it.

For example, name me another editor where you can jump in less then a second to any letter of the text ? You always have to click. Contrary to that, editing in vim is like programming since you have editing DSL. All editors provide shortcuts to just some of the editing capabilities (duplicate/delete line, next word, prev word etc.) but not ALL of the imaginable and unimaginable scenarios like vim does, in a way that is instantly programmable to your liking without messing with configuration.

Re: Neovim 0.5 is overpowering

#236

I'm most excited for the treesitter integration and its potential to amplify Vim's "killer feature": text editing as a language. Vim's editing language feels most powerful when I'm using its text objects: "ciw" means "change in word", "cis" means "change in sentence", and so on. But Vim's built-in text objects are not always a perfect match for the code you're editing. Suppose you want to change the first argument of…

treesitter was the reason why i installed the git version of neovim ;) it is very good. so happy with with it;)

Re: Neovim 0.5 is overpowering

#237
Does neovim, or vim for that matter, offer any out of the box support for remote work like Emacs has with tramp-mode?

Asking because maybe it's time to try NeoVim out, but it'd be a limitation for my work if I had to go through extra hops for editing remote files and running remote jupyter kernels.

I suppose it does, so I'd be grateful if vimmers out there would share their favorite solutions.

Re: Neovim 0.5 is overpowering

#238

Earlier quoted context omitted.

Yeah, just recently I had to edit text like this 'name1', 'name2', 'name3', to: 'name1': Enum.Name1, 'name2': Enum.Name2, 'name3': Enum.Name3, by the time I figured out a sequence of keyboard commands I'm pretty sure I could have multicursored it pretty easily, go to name1, create 2 cursors, select word & copy, start typing : Enum., paste selected word, select word, capitalize, type , In vim it was something like qdy…

Or, you could have hit qt, recorded your commands for the first change, and then replicated it for every other line with a simple @t, instead of redoing all the changes each time. You don't have to learn command. You simply need to know how to edit with VIM. And multi cursors only work for tabular data. The macro recordings can work for the entire document where you call a macro on a word/regex you searched for, for…

Multiple cursors is for quick small editing tasks where you don't bother with a macro.

Re: Neovim 0.5 is overpowering

#239
I'm a long time (20+ years) vim user, and neovim doesn't fit my use case. I've tried it, most recently today, to have a look at LSP and treesitter. Treesitter added different syntax colors, but the result wasn't necessarily better than vanilla vim. More like an overly decorated christmas tree. LSP and other "make it into an IDE" I usually turn off after a few minutes, it's more of a hindrance than a help. I mainly code in python and don't care for intellisense.

Other than that, there's 3 real showstoppers for me:

- the obsession with Lua (I personally don't like Lua much, and even to configure treesitter I have to inject little snippets of lua code into my .vimrc). You've got people even trying to rewrite their entire .vimrc in lua, which results in an enormously verbose mess if you ask me. Lua is also what drives the vim and neovim communities further apart.

- they removed gvim (which is what I use in most cases). There is no comparable third party GUI like gvim available. They're all either abandoned, unstable or simply very different with lots of bling and gimmicks.

- neovim feels less stable than vim. It just crashed on me a few minutes ago when I was trying to configure treesitter. I copy pasted the necessary snippet in my .vimrc and neovim crashes until I take it out. In the 20 years I use vim, I don't think I've ever had it crash on me. Neovim seems more of a "move fast & break things" development model, but I write code for a living so I prefer the rock solid stability of vim.

So I'll stay firmly in the vim camp. I appreciate neovim for what it did (kickstart the vim development, which was stagnating at a certain point) but I wished they had re-merged soon after that initial goal was met. Now the communities have split and are drifting ever farther apart. Soon with vimscript9 plugins on one side and lua plugins on the other, the spaghetti will be even harder to untangle.

Re: Neovim 0.5 is overpowering

#240

I'm most excited for the treesitter integration and its potential to amplify Vim's "killer feature": text editing as a language. Vim's editing language feels most powerful when I'm using its text objects: "ciw" means "change in word", "cis" means "change in sentence", and so on. But Vim's built-in text objects are not always a perfect match for the code you're editing. Suppose you want to change the first argument of…

Do you find your brain can actually work that way? My issue with all of these relative jump points, repeat this N times, etc of VIM is by the time I’ve calculated in my mind what the command should be I’d have already done it with just standard navigation/mark/yank/repeat. But perhaps you have galaxy brain ;)

I got relatively good at vim N times counting some years back (but forgotten it now as I don't use vim as much these days). It was a practice thing. I made a point to never repeat a command more than twice and after a while it became second nature. I even got really good at guessing how many lines away things were (but nowadays I just use relative line numbers).

I never became fully fluent, but I also didn't try too hard over the "don't repeat commands" thing. And I got lazy after about a year (but also used other editors a lot more, due to team members using them and such) and over time lost the ability. Some day perhaps I'll make a point to learn again, but for now I mostly use VSCode without vim mode...

Post reply on HN