"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.
Neovim's Next Feature Poll
51–60 of 105 posts
Re: Neovim's Next Feature Poll
#52Re: Neovim's Next Feature Poll
#53I 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…
Re: Neovim's Next Feature Poll
#54Please, 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?
.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
#55Please, 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
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
#56Earlier 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…
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
#57Re: Neovim's Next Feature Poll
#58Earlier 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…
Re: Neovim's Next Feature Poll
#59I 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…
Re: Neovim's Next Feature Poll
#60Has 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.
Not quite. Neovim has working job control ("async"):
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).