Live data from Hacker News

Neovim v0.4.0

github.com

71–80 of 168 posts

Re: Neovim v0.4.0

#71
post #19

Why do we need such things in 2019?

The terminal is common to many operating systems and keyboard shortcuts leant there are pretty universal.

If you prefer a keyboard driven workflow learning to use a terminal and terminal based editor will give you a very portable solution.

Vi's commands are somewhat like a language for manipulating text. This is a different philosophy to many non-modal editors. In vi you can say change the next 3 paragraphs to foo or replace the text inside the this tag with bar. When you learn the language it's almost painful to watch someone trying to select text with a mouse. (I realise GUI tools often have vi plugins. I think that only proves that modal editing is useful and ergonomic once you've learnt how to use it).

CLI based tools are also very scriptable where that is often not the case for GUI based tools. Vi/Vim/NVim are part of a wider ecosystem of tools. If you learn the Ex commands for things like substitute/replace in Vim you're taking a step along the road of learning sed also.

Re: Neovim v0.4.0

#72
post #68
post #56

Earlier quoted context omitted.

I feel like I need a PhD in configuring vim to do that stuff. The fact vim has been around forever and still hasn’t caught up with an IDE for ease of use doesn’t convince me at this point to use it for coding Java. Eclipse/IntelliJ is simple download and everything ready to go, git integration, all kinds of auto complete , debugger, etc... you hit the ground running pretty much. Can’t say the same about vim for Java,…

I don't see there's a reason to use vim locally as other editors are far advanced when vim isn't changing at all. But there's a use on the server side because you only have vim or emacs there.

As someone who's been doing sysadmin-ing things for a while... (10+ years) I don't think I've ever seen Emacs installed on any server where it wasn't maybe pulled in as a dependency by something else. Emacs is almost never installed by default, you could instead install micro (https://micro-editor.github.io/) instead, use normal keybindings, and call it a day :-)

Re: Neovim v0.4.0

#73
post #64

Earlier quoted context omitted.

I just tried this. I get rendering artifacts when scrolling. BUT! The scroll speed is absolutely wonderful. I've tried all the UIs and always find myself going back to the terminal, but this is something else. Although I have to say fvim looks tempting as well and vimr(I'm not on MacOS anymore). For those people mocking vim users and bragging about their IDE's. With languageserver and the other kind of refactoring da…

I'm not going to mock you, but why not just use an IDE with a vi(m) mode or plugin in the first place, if you really want all those features? Modern IDEs are following a platform + plugins architecture that is probably as flexible but more robust than whatever you can tape together around vim.

Vim has a plugin architecture. The built in language sucks balls but it does work.

Re: Neovim v0.4.0

#74
post #52

Earlier quoted context omitted.

Command line vim is one of the most productive editing environments on the planet, why wouldn't we?

I'd say language support is the most important for productivity if we talk about programming. Having the whole API under your fingertips, doing safe refactorings easily, etc. are much more important for productivity than simple editing. If you can refactor a class, move functions, rename variables across the whole project safely (string replace is not enough) with a few clicks then you are much faster than when you h…

There's no reason to not have that sort of support available in Vim or other CLI based tools especially now that LSP servers are available.

Language support tools are not dependant on running GUI based IDEs any more.

Re: Neovim v0.4.0

#76
post #54

Earlier quoted context omitted.

> With languageserver and the other kind of refactoring daemons available for a whole host of languages nowadays these editors are much closer to IDE's than ever before. Most likely true, though i think the "I" part of "IDE" is woefully ignored and (at least to me) is much more important than a hodgepodge of barely related programs strung together with duct tape.

That's precisely what every single python IDE does. They take isort, black, jedi or whatever other engine together and stitch them together in a user transparent way. Omnisharp was literally the attempt of MonoDevelop to create an open source alternative to the Resharper engine. The completion agents for VIM or VSCode do the presentation layer for the lower layer(the language server daemons, or custom completion agen…

Yeah well, it isn't like Python IDE are much better :-P. I think in general most languages with unix-ish background do not tend to have truly integrated development environments as unix was always about stitching together stuff. Only Borland somewhat managed to make real integrated environments for their C/C++ tools and even then it wasn't as good as the stuff they had better control over (turbo pascal, delphi, etc).

Java and NetBeans is (or was, before Oracle botched it) probably the best IDE (in terms of integration) for a toolset with a unixy background.

Though none of those compare to something like Smalltalk, Lisp or even Microsoft's QBasic and (pre-.NET) Visual Basic.

Note that i'm talking about how integrated the IDE is with the language and its tools, not about how good or bad the language is.

Re: Neovim v0.4.0

#77
post #64

Earlier quoted context omitted.

I just tried this. I get rendering artifacts when scrolling. BUT! The scroll speed is absolutely wonderful. I've tried all the UIs and always find myself going back to the terminal, but this is something else. Although I have to say fvim looks tempting as well and vimr(I'm not on MacOS anymore). For those people mocking vim users and bragging about their IDE's. With languageserver and the other kind of refactoring da…

I'm not going to mock you, but why not just use an IDE with a vi(m) mode or plugin in the first place, if you really want all those features? Modern IDEs are following a platform + plugins architecture that is probably as flexible but more robust than whatever you can tape together around vim.

vim modes in IDEs are often inadequate (if this is not immediately obvious, you probably just don't use vim as fully as possible). The IDEs are often (too) complex in the sense of a hodgepodge of GUI options and menus which are hard to navigate. You often can't put the IDE configuration in a version control system easily. IDEs are often sluggish. The plugin system for vim is superior to most IDEs.

It's not that using an IDE with a vim mode is not a possible viable alternative, but it's a game of trade-offs, as usual.

Re: Neovim v0.4.0

#78
post #72
post #68

Earlier quoted context omitted.

I don't see there's a reason to use vim locally as other editors are far advanced when vim isn't changing at all. But there's a use on the server side because you only have vim or emacs there.

As someone who's been doing sysadmin-ing things for a while... (10+ years) I don't think I've ever seen Emacs installed on any server where it wasn't maybe pulled in as a dependency by something else. Emacs is almost never installed by default, you could instead install micro ( https://micro-editor.github.io/ ) instead, use normal keybindings, and call it a day :-)

> As someone who's been doing sysadmin-ing things for a while... (10+ years) I don't think I've ever seen Emacs installed on any server

Chances are the Emacs-users are working on files on that server remotely via TRAMP, from their nicely and 100% personally customized Emacs-installation.

Why bother replicating all that setup on a server when you don't have to?

Re: Neovim v0.4.0

#79
post #56

Earlier quoted context omitted.

Language Server Protocol plugins are adding functionality for completion/docs/refactoring these days, and vim-jdb looks pretty decent.

I feel like I need a PhD in configuring vim to do that stuff. The fact vim has been around forever and still hasn’t caught up with an IDE for ease of use doesn’t convince me at this point to use it for coding Java. Eclipse/IntelliJ is simple download and everything ready to go, git integration, all kinds of auto complete , debugger, etc... you hit the ground running pretty much. Can’t say the same about vim for Java,…

Since Vim/NeoVim take a "batteries not included" approach to set up I'm just happy that we've gone from a state of "you have to use an IDE to get code aware features" to "it's hard to set up code aware features in NeoVim".

Hopefully other projects such SpaceVim or individual plugins can provide an easier path for those that want it. I think it's on NeoVim's own road map to add LSP support out of the box.

Of course it's also worth pointing out that whilst it's nice that NeoVim is learning new tricks nothing about having better CLI based tools available means that you can't still use GUI based IDEs if that suits your use case better.

Re: Neovim v0.4.0

#80
post #22

Earlier quoted context omitted.

I wouldn't even know where to begin to approach these mappings as they are highly context dependent. If it is possible with just normal vim mappings then that'd be excellent.

inoremap + vnoremap "+y cnoremap +

  vnoremap  "+ygvd
Post reply on HN