Live data from Hacker News

Neovim v0.4.0

github.com

61–70 of 168 posts

Re: Neovim v0.4.0

#61
post #38

On this topic, can anyone share their Python setup for Neovim? I used ALE and Deoplete + a bit of Jedi and got frustrated with it breaking / working much worse than ST3 and just removed all the plugins.

I use CoC.vim [0] with whatever Python plugin they recommend and it's easily been the most painless autocompletion I've ever used in over a decade of Vim. I wrote some (admittedly pretty basic) Python with it last week with no complaints! [0] - https://github.com/neoclide/coc.nvim

Thank you, will check it out!

Re: Neovim v0.4.0

#62
post #57

I'll just leave a shameless plug for my neovim GUI project here: https://github.com/vhakulinen/gnvim . It has a WIP PR[1] for implementing multigrid support, which would allow features such as scrollbars. There are many other GUIs too, such as oni/oni2, gonvim, neovim-gtk and neovim-qt. Extensive list can be found here: https://github.com/neovim/neovim/wiki/Related-projects#gui 1: https://github.com/vhakulinen/gnvim/…

Looks nice, but I'm a bit surprised to see "No web bloat!" and then Webkit in dependencies. Is the UI built in web technologies, just not in Electron this time around?

From a quick look at the repo, seems to be used for previewing markdown files.

Re: Neovim v0.4.0

#63
post #35

Earlier quoted context omitted.

I have been running it for quite a few months and there are two improvements that I can think of: 1) In visual mode you have a block cursor and in insert mode it is a |. 2) With ':set inccommand=nosplit' you get live previews for substitution calls. For example :%s/foo/bar/ will update your foos on screen whilst you type the command. Otherwise it is pretty much a drop-in replacement without issues.

> Otherwise it is pretty much a drop-in replacement without issues. Except for the crashes. The crashes are an issue. Don't get me wrong though, I like nvim. I use it occasionally. But the crashes are an issue.

No crashes here and I use it all day pretty much every day.

They only real negative in my view is the startup time which is noticeably worse than vim for me. Advantages I see are

- unix clipboard and middle mouse pasteboard both work out of the box without having to recompile (ie "*p and "+p and the corresponding yanks just work) whereas on vim for whatever reason I always have to rebuild my distro vim and faff about with terminals for ages

- the substitution preview thing above is really great

- the "terminal" window type which I don't use much but a lot of people do

- the fact you have native support for python3 and python2 plugins simultaneously. Don't even want to think about how many goats had to be sacrificed to build that feature but it's cool

- the ":checkhealth" diagnostic screen that gives you useful info to allow you to easily fix any problems you're having with terminal and plugin setup

Re: Neovim v0.4.0

#64

I'll just leave a shameless plug for my neovim GUI project here: https://github.com/vhakulinen/gnvim . It has a WIP PR[1] for implementing multigrid support, which would allow features such as scrollbars. There are many other GUIs too, such as oni/oni2, gonvim, neovim-gtk and neovim-qt. Extensive list can be found here: https://github.com/neovim/neovim/wiki/Related-projects#gui 1: https://github.com/vhakulinen/gnvim/…

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.

Re: Neovim v0.4.0

#65
post #19

Why do we need such things in 2019?

For server side config file editing. There are plenty of editors to choose from for local GUI environment but not so inside SSH session.

Re: Neovim v0.4.0

#66
post #58
post #52

Earlier quoted context omitted.

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…

This. First of all, I don't know about vim/neovim, but I think a lot of the issues apply there as well. When I develop software, I don't need an editor, I need a development environment. I spend 90% of my time reading code, so reading and navigating the codebase should be very straightforward. Most importantly I want to have a tree view of the files in the project, I want to be able to jump to function/class definiti…

I often switch between several programing languages, I often switch between projects, I like being able to dig into the code source of some tarball I found online without configuration. I find that deep editor integration gets in the way more often than not.

For navigating the project I use helm on emacs, fzf on vim. I can just fuzzy-match anything I'm looking for instantly. I find filesystem treeviews useless, they use a lot of screen real estate and they're annoying to navigate, I don't see the point.

For navigation ripgrep does most of the job complex language engines do and it works across languages without any configuration. For C I sometimes use cscope and ctags but even there I often just call ripgrep because why not?

For auto-completion I also find that a very naive algorithm completing words from existing buffers works reliably and efficiently, with zero configuration and tweaking. Sure you don't get context-aware completion but that never bothered me too much to be honest.

For debugging I can't really disagree with you, both Vim and Emacs are very limited in that regard (Vim especially so).

That being said, maybe if I gave those big IDEs a chance I'd never go back, who knows. Besides I could spend an hour listing things I think Vim and Emacs do wrong so it's not like I think they're perfect editors.

Re: Neovim v0.4.0

#67
post #13

I'll just leave a shameless plug for my neovim GUI project here: https://github.com/vhakulinen/gnvim . It has a WIP PR[1] for implementing multigrid support, which would allow features such as scrollbars. There are many other GUIs too, such as oni/oni2, gonvim, neovim-gtk and neovim-qt. Extensive list can be found here: https://github.com/neovim/neovim/wiki/Related-projects#gui 1: https://github.com/vhakulinen/gnvim/…

Both neovim-gtk & gnvim are great but don't integrate nicely with standard ctrl + c, ctrl + v actions which is super frustrating. VSCode with vim plugin handles this well with the Use Ctrl Keys option set. If you're in insert mode, ctrl + v will paste, otherwise ctrl + v will start visual mode. If you are selecting text, ctrl + c will copy.

A different way of tackling this if you don’t mind doing it “the vim way”: Most vim builds enable the + register to access the system clipboard (hopefully these two do so too, I haven’t verified!). “+p = ctrl+v, “+y = ctrl+c etc.

If you’re unfamiliar with registers look them up in the docs they are super useful. (Also have a look at the 0 register, e.g. “0p)

Re: Neovim v0.4.0

#68
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,…

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.

Re: Neovim v0.4.0

#69
post #13

I'll just leave a shameless plug for my neovim GUI project here: https://github.com/vhakulinen/gnvim . It has a WIP PR[1] for implementing multigrid support, which would allow features such as scrollbars. There are many other GUIs too, such as oni/oni2, gonvim, neovim-gtk and neovim-qt. Extensive list can be found here: https://github.com/neovim/neovim/wiki/Related-projects#gui 1: https://github.com/vhakulinen/gnvim/…

Both neovim-gtk & gnvim are great but don't integrate nicely with standard ctrl + c, ctrl + v actions which is super frustrating. VSCode with vim plugin handles this well with the Use Ctrl Keys option set. If you're in insert mode, ctrl + v will paste, otherwise ctrl + v will start visual mode. If you are selecting text, ctrl + c will copy.

In addition to sibling comment - does any vi(m) work with the (non) standard (for vi) ctrl-v/c out of the box? I understand setting the star/plus as default registry so that paste and yank read/fill the system clipboard. But using ctrl-V for paste is surely alien?

Nothing wrong with custom keybindings, obviously. But it sounds rather non-standard?

Re: Neovim v0.4.0

#70

Earlier quoted context omitted.

Yes, neovim is compositing the windows inside the text UI in a terminal.

Replying to PeCaN: > slightly concerned that neovim started to cut bloat in vim and ended up implementing a compositing window manager with fake transparency. "Window manager" existed since vim got split-windows (1990s). Redesigning it as a compositor: - isolates windows logically, so that UIs can do their own layout instead of being stuck with the TUI grid - useful for implementing floating windows - allows reasonin…

Also, if I am not mistaken, the code that handles the multiplexing (multigrid) was not made only for this feature, but a generalization that improves a lot of capabilities for GUIs.

Thanks for all the work Neovim team!

Post reply on HN