Live data from Hacker News

Neovim's Next Feature Poll

neovim.org

51–60 of 105 posts

Re: Neovim's Next Feature Poll

#51
post #9

"Sublime minimap" and "better autocomplete" are features that use an underlying API. I'd prefer if they could be renamed to "Fetaure X which enables e.g. sublime minimap" and dito for autocomplete.

Thanks for the feedback. I created the poll so I'll be sure that when we create the Bounty we are clear in that the underlying API is what we are looking to improve.

Re: Neovim's Next Feature Poll

#53
post #35

I am convinced that Vim's greatest asset and risk is Bram Moolenar. Bram is a talented, experienced developer, and I commend him for creating Vim. But he is the only person with write access to Vim's codebase. The primary author of NeoVim is Thiago de Arruda. Thiago tried to work with Bram, but was rejected.[1] Patches similar to Thiago's have been proposed before, but were also rejected.[2] It is for this reason tha…

Do users mind that in your words Moolenar is a risk to vim, though? Are people specifically interested in the advancement of vim or just more generally in the progress of vim-like text editors, in which case they can happily switch to neovim if it becomes better than vim?

Re: Neovim's Next Feature Poll

#54
post #38
post #36

Please, please implement multi-cursor support. For anyone that doesn't agree, please read my previous post on HN on the topic: https://news.ycombinator.com/item?id=1625382 I wrote to Thiago about this already, but we don't even need multi-cursor support - just a few additional hooks so we can implement a multi-cursor plugin. Although to be honest, making it part of core is vastly preferable, since it is a hard featur…

What problems can you solve with multi-cursors that you can’t with actual features like block selection?

Simple (very common example):

.some-css-rule {
 padding-left:50px;
 padding-right:50px;
}

Say I want to edit those two numbers. With multi-cursors, it's as simple as select one number, hitting a button that causes the other number to be selected, then writing the new value.

Now, after I wrote it, I realize I forgot to put a space after the colon, and want to change the formatting. No problem - I just make the change to the first line, and the next line follows.

Same as macros? Kind of. But let's say I make a mistake in the macro, e.g., I move the cursor left to the beggining of the line letter-by-letter instead of hitting "home", which is a killer for a macro since each line is a different length. (this is a contrived example a real vim'er will never do, but there are plenty of real examples of 'oops forgot about that' things when recording macros).

Anyway, when I run my macro, suddenly things won't work, and then undoing and starting the re-record process takes time. But if I'm doing this with mulitple-cursors, I see right away, visually that something's wrong, and it's easy to fix - I just hit "home" after moving the cursor left.

And note - this is a drop-dead-simple use case that happens 10's of times a day for any css programmer. Similarly, most programmers will run into cases where they have two similar if blocks one after another, or two similar "except" blocks, and so on.

And that's not even going into lots of other, very powerful cases, like taking a function that gets a list of paramaters, and being able to easily manipulate these paramaters, e.g. given "foo(a, b, c, d, e)", I can easily multi-cursor all the commas, then copy all the params, then paste them after the func definition, hit enter, and I've got a list of all the params after the function definition. And this isn't hard, at all! I visually see everything I'm doing as I do it, and if something goes wrong, I fix it on the spot.

I could ramble more about this, but I think I've either convinced you I'm crazy, or at least to try multi-cursors out :)

Re: Neovim's Next Feature Poll

#55
post #42
post #36

Please, please implement multi-cursor support. For anyone that doesn't agree, please read my previous post on HN on the topic: https://news.ycombinator.com/item?id=1625382 I wrote to Thiago about this already, but we don't even need multi-cursor support - just a few additional hooks so we can implement a multi-cursor plugin. Although to be honest, making it part of core is vastly preferable, since it is a hard featur…

you can get multiple cursors with this plugin (works better than I expected) https://github.com/terryma/vim-multiple-cursors

It works, and definitely better than other tries, but it's not even close to Sublime Text's caliber. Through no fault of the author, I assure you, as someone who's tried his hand at creating a similar plugin for vim and found many limitations of vim.

One easy limitation comes to mind - you can't copy-paste different cursors, then paste them as unique items. E.g., given a list "a, b, c", I want to be able to multi-cursor the letters, copy them, then paste them into 3 multi-cursors somewhere else. Hard, very hard to implement.

Re: Neovim's Next Feature Poll

#56
post #49

Earlier quoted context omitted.

Vim doesn't need multiple cursor support. Train yourself to think in Vim—you're editing text and words, not moving a cursor. Macros and global replace already do what you want.

Macros and global replace are substitutes, sure, but they're not at all the same thing . And while I'm no vim wizard, I have used it as my main editor for 4+ years, and have a 1500 line vimrc and plenty of plugins (including my own), so you don't get to assume I don't grok the vim way of thinking :) I've heard the "macros is the same" sentiment many times, and usually it's from people who have never had much experien…

>In fact, many of the people arguing against multi-cursors have been convinced after trying them that they are better.

Fact by who?

>The basic problem with macros and global replace is that they don't happen immediately and don't give you feedback. I don't know any vim user who hasn't had the distinct pleasure of needing 3 tries to record a macro before they got it right.

True about macros, which are a very powerful tool that's way more than just multiple cursors. For global replace, however, this is false. Vim has an option to enable visual feedback for select/replace commands. I use it every day and it's awesome.

>What's more, if I record a macro and run it, then realize after it that I want to do a small addition, I have to go through all the "setup" steps again - go back to the start, re-record, add the logical of finding the next block, and so on. I can't just visually see the situation and say "oh yeah, why don't I add this little tweak".

What about recording the rest of the macro and running both of them one after the other?

>Seriously, take a very common example: having 3 if's one after the other, where you want to add a line at the start of each if block. Doing this with multiple cursors is a breeze - 3 buttons and you get 3 cursors, then write your code. And if, after writing it, you realize you actually want to add another line, you just keep typing. It's literally the same as typing.

vj:s/if/if/g oh wait, I wanted to add another line? uvj:

Also as somebody already pointed out, vim already has plugin(s) for multiple cursor support and they work exactly as they should. I'm not arguing against multiple cursors, I'm just saying that they don't really bring anything new.

Re: Neovim's Next Feature Poll

#57
Others have probably already said this elsewhere, but I think high quality error messages for vimscript (or the lua api) are one of the most important things. The project already cares about the developer experience for people writing plugins. Error messages are a difficult but important part of that.

Re: Neovim's Next Feature Poll

#58
post #12

Earlier quoted context omitted.

They are willing to make it more like gvim, running in a separate window, and one of targets of neovim is to use a modern graphics backend to achieve that.

Nonsense, mate. https://groups.google.com/forum/#!topic/neovim/hTPKGGzwWKA neovim is sticking with the standard fixed terminal as the 'main interface', but is building a better/easier way to communicate with external processes. That way a non-terminal Vim plugin can open up extra windows for minimaps, etc. Ideally, this would mean you could have a vim "server" (for lack of a better term) on your dev VM, or where-ever…

Oh, obviously I read the bountysource[1] description too quickly when they published it, thanks for the correction.

[1] https://www.bountysource.com/teams/neovim/fundraiser

Re: Neovim's Next Feature Poll

#59
post #35

I am convinced that Vim's greatest asset and risk is Bram Moolenar. Bram is a talented, experienced developer, and I commend him for creating Vim. But he is the only person with write access to Vim's codebase. The primary author of NeoVim is Thiago de Arruda. Thiago tried to work with Bram, but was rejected.[1] Patches similar to Thiago's have been proposed before, but were also rejected.[2] It is for this reason tha…

[deleted]

Re: Neovim's Next Feature Poll

#60
post #3

Has anyone used neovim yet ? Is it usable ? Is there any new features or are they only refactoring under the hood ?

I tried it. For now it just behaves the same as normal Vim. Most of the work done is indeed under the hood. They are refactoring the codebase so that it will be easier to create plugins, extentions and to use Neovim inside other apps.

> For now it just behaves the same as normal Vim

Not quite. Neovim has working job control ("async"):

http://pastebin.com/hpiCP9Ae

It works like the javascript event loop, so even though Neovim is still single-threaded, you can dispatch to external processes and handle the results in a callback(s).

Post reply on HN