Live data from Hacker News

Vim 9.0

vim.org

111–120 of 272 posts

Re: Vim 9.0

#111
post #86

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.

Well, Bram is the author of the parent project, he doesn't have any obligation to make it compatible with the derivative.

Vim has been around long enough that I'd argue it's just as much owned by the community at this point.

Re: Vim 9.0

#112

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…

Fair, though neovim uses LuaJIT which is maintaining Lua 5.1 compatibility indefinitely; with their own set of extensions[1].

Through the use of metatables you can improve the undeclared global situation[2], through I admit it's kludgy.

We use luacheck for static analysis, but I'll admit it's far from perfect. The language doesn't lend itself well to static analysis.

I think what lua mostly has is a really good embedding story. It's a tiny C library with broad compatibility and a permissive license; and with LuaJIT it's also very fast (though less portable). This means it's used everywhere and a lot of people are at least passingly familiar with it. Vimscript on the other hand is fairly alien.

[1] https://luajit.org/extensions.html

[2] https://github.com/CorsixTH/CorsixTH/blob/master/CorsixTH/Lu...

Re: Vim 9.0

#113
post #88

Earlier quoted context omitted.

No line numbers? @_@

I gave up absolute line numbers a few years ago in exchange for `:set rnu` and while my navigation capabilities (at least to anywhere I can see) have gotten a lot faster, the ability to `>>` a handful of lines without having to count has felt a ton more productive

You can also set both relative & absolute line numbers at the same time.

Re: Vim 9.0

#114
post #3

I'm curious how many users are now using vim versus neovim. I switched a few years ago,and ever since Lua plugin support the Neovim ecosystem is thriving.

Debian popcon can be interesting:

- https://qa.debian.org/popcon.php?package=vim

- https://qa.debian.org/popcon.php?package=neovim

- https://qa.debian.org/popcon.php?package=nano

(nano for the control group)

So lots of neovim growth, but still small in absolute numbers. Then again, vim-tiny is installed by default. Normal vim is a better indicator. And it won't grow as much, because Debian's userbase grows slowly.

Personally I'm happy with the default Vim config (I'll enable features if I need them, such as line numbers) and prefer the minimalism.

I tried neovim but there were more bells and whistles by default, and I didn't want to waste time configuring (and I work on a bunch of machines when wearing my sysadnin hat). For plugins, I only use a debugger.

Re: Vim 9.0

#115
post #91

As Vim9 comes alive, and Neovim community focuses on Lua plugins instead, it seems this release is finally the update that will put a hard branch on the two communities. Up until now, most plugins (except Lua-only ones of course) have worked in both editors, but it doesn't seem like Vim9 will be supported in Neovim, so I guess what people go with now, will decide what you might stick with in the future (unless you're…

My opinion must be marginal, but in my view neovim community took an IDE route anyway so maybe it is a good thing if they separate, provided there is a way to switch. Because when you have a function in bigpkg.tgz, no incentive exists to dedicate a smaller package to it, and that changes the entire landscape dramatically and may create political issues in it. I actually liked simple little plugins vim had back in the…

Worth noting that one of the 5 listed NeoVim Non-Goals is "Turn Vim into an IDE"

https://neovim.io/charter/

Re: Vim 9.0

#116

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.

Re: Vim 9.0

#117
post #91

Earlier quoted context omitted.

My opinion must be marginal, but in my view neovim community took an IDE route anyway so maybe it is a good thing if they separate, provided there is a way to switch. Because when you have a function in bigpkg.tgz, no incentive exists to dedicate a smaller package to it, and that changes the entire landscape dramatically and may create political issues in it. I actually liked simple little plugins vim had back in the…

Worth noting that one of the 5 listed NeoVim Non-Goals is "Turn Vim into an IDE" https://neovim.io/charter/

Yep, "neovim taking the IDE route" is a bad take.

Re: Vim 9.0

#118
vim9 script? what a waste of time. Why bother? Nim, Lua, Crystal, Racket.. I guess the point is to make the migration easier, so I get that.

I've been using LunarVim/Neovim lately, and it is PHENOMENAL. Highly recommended!

Re: Vim 9.0

#119
post #29

Earlier quoted context omitted.

I've been using vi/vim on a near daily basis for 34 years now and this is the only thing I put in ~/.vimrc: set tabstop=4 set expandtab set shiftwidth=4 " or 2 or whatever set shiftround syntax on EDIT: Just for some fun archeology, I google searched on the 3rd line, 'set shiftwidth=4 " or 2 or whatever' because I very dimly recall copying most of my standard set (minus the syntax on bit) from someone else a long lon…

Doesn't expandtab mess with creating/editing makefiles?

You can change it per filetype. For example, I have a similarly minimal vimrc that defaults to sw=4, ts=4 and expandtab, but with the following additions:

  autocmd FileType go,make,sh set noexpandtab
  autocmd FileType js,json set sw=2 ts=2
Edit: I think you might also need the following to make it trigger the FileType event when you open a file in the first place:

  filetype plugin indent on

Re: Vim 9.0

#120
My work machine is Windows and I pretty much spend most of my time on IDEs like JetBrains IDEA or VSCode (too many capabilities to search equivalents for via Vim on Cygwin). Both have plugins for Vim keybindings. So for me, Vim is always present through the spirit of its keybindings which have become second nature.
Post reply on HN