Live data from Hacker News

Vim 9.0

vim.org

151–160 of 272 posts

Re: Vim 9.0

#151

I'm curious: - How deep a rabbit hole do most people go down when setting up their vim / neovim environment? Apart from setting up a preferred color and language specific tab spacing and highlighting, I don't need more, but I've seen some pretty fancy setups. Out of the different plugins, which would you never operate without?

Check out LunarVim, it is excellent.

Also nvchad if you want to easily override builtin config from the starterkit.

Re: Vim 9.0

#152

Earlier quoted context omitted.

> People don't like Lua (or just simply prefer VimScript) :shock:

I prefer VimScript over Lua. VimScript is really not that bad of a language and I think its deficiencies have been greatly exaggerated, and Vim9Script fixed most of the oddities that were in there (e.g. '1' == 1 and such, JS/PHP-style). Lua, on the other hand, won't give me an error if I mistype a variable name, and the ecosystem doesn't really have good static analysis tools to catch these kind of silly errors. Ther…

> Lua, on the other hand, won't give me an error if I mistype a variable name,

Lua has pretty good lsp server and it gives me good warnings and completions.

Re: Vim 9.0

#153
post #131
post #94

Earlier quoted context omitted.

" My vimrc from 1994 to about 2000 set et set ts=4 " Added this circa 2000 syntax on " Added this ~2013 let g:solarized_termcolors=256 set background=light colorscheme solarized

Curious as to why you set ts but not sw?

because i've always found the vi documentation a bear to navigate. i don't know what shiftwidth is even for. here's the help for it:

shiftwidth([{col}]) shiftwidth() Returns the effective value of 'shiftwidth'. This is the 'shiftwidth' value unless it is zero, in which case it is the 'tabstop' value. This function was introduced with patch 7.3.694 in 2012, everybody should have it by now (however it did not allow for the optional {col} argument until 8.1.542).

                When there is one argument {col} this is used as column number
                for which to return the 'shiftwidth' value. This matters for the
                'vartabstop' feature. If the 'vartabstop' setting is enabled and
                no {col} argument is given, column 1 will be assumed.

                Can also be used as a |method|: >
                        GetColumn()->shiftwidth()
What does that even mean? And I've been using vi since 1988!!

Re: Vim 9.0

#154
post #106
post #101

Earlier quoted context omitted.

IIRC one of the main reasons to split is because Vim is a one-person effort, they don't take PR and they didn't want the drastic change, so Neovim had to be a fork because there's no way to convince Vim author to take changes

This is untrue. Tons of development is done by others.

I mean:

    https://github.com/vim/vim/graphs/contributors
    https://github.com/neovim/neovim/graphs/contributors
technically yes (by others too), but relatively, it's basically a one-man project

Re: Vim 9.0

#155

Does anyone have a good from-scratch setup guide for Neovim?

You can either use lunarvim or nvchad to get started quickly. It's easier to override default bindings, plugin config etc. in nvchad. Or you can use their configuration as reference and pick and choose what you need.

Re: Vim 9.0

#157

Earlier quoted context omitted.

can't you just yank to +? you might need the vim build with +clipboard if it's not default these days

I have vim use the clipboard by default, with that said I still use the mouse to copy stuff now and then.

Depending on your OS, you could use visual line mode and highlight the text you want to copy. Then you can run:

    'w !xclip -selection clipboard
to copy the text to your clipboard. Macs have another program that works similar to xclip, but I don't remember what it's called.

Re: Vim 9.0

#158
Cool. I mean congrats. But hasn’t all the development and such moved to neovim? I find Lua a much better and intuitive than vimscript.

Re: Vim 9.0

#159
post #145

Earlier quoted context omitted.

I think you mistake the parent's point. Vim's code is certainly open source (I don't think anyone disputes that), but its development model is not the one we've come to be comfortable with. Moolenar maintains an iron grip on vim, and controls what goes in (and what doesn't) much more strictly than many other open source projects. That is certainly his prerogative, but it's also the prerogative of others to not like t…

But "open project" is not a helpful term either, which can mean anything from an open-for-suggestion proprietary project to a maximally open project (whatever it means). The correct term would be "open governance". We perceive "open" as something positive, which is of course not always true and there are different kinds of "open".

Perhaps "community led" or such?

Re: Vim 9.0

#160
post #85

Earlier quoted context omitted.

And when Bram did finally add async support rather than take the neovim work and us that he did it in a specifically non compatible way. I don't know the ins and outs but as an observer that does come across as a little petty.

We're used to open projects but Bram's seems to be that he wants to be in control, he's the main author. So Vim is then open source but not a completely open project.

The success of Neovim is great example of the advantage of open source. When the developer of a popular piece of software didn't want to implement features some of it's users wanted, those users were able to fork it and create a successful project that had those features, and eventually led to more innovation in the original project.

The divergence and incompatibility is unfortunate though, especially since some of it just seems petty. Made moreso, because it isn't possible to truly polyfill functionality from one in the other (native commands and functions are effectively in a separate namespace than user-defined ones).

Post reply on HN