News for hackers. Stuff that matters.

justinmk

Re:"They had no concept of a duty of care to their users." on Sunday September 27, 2026 @08:02PM (#49872071)
Vim undofile "data loss" happens because Vim (VIM!) will reset the undofile will reset the undofile if an external tool (git, nano) changed the file while Vim is not running.

Go ahead, try it:

    # Make some edits, then exit vim (remember to exit).
    vim --clean +'set undofile' foo.txt

    # Edit the same file with non-vim; save the changes.
    nano foo.txt

    # Open the file again and try "u". Then post on bluesky about Vim's "duty of care".
    vim --clean +'set undofile' foo.txt

This is documented at `:help undo-persistence`.
> wrote the native lua LSP client ... in a few weeks for about $3k USD (circa 2019)

That extrapolation is missing the 1000s (thousands) of commits + person-years of work spent on maturing vim.lsp since those few weeks.

Hope to see you around again norcalli.

Re:Did Meta's Big Settlement Actually Help It? on Thursday August 27, 2026 @10:32AM (#49465542)
"Journalist discovers regulatory capture"
Re:Neovim 0.12.0 on Tuesday March 31, 2026 @08:54AM (#47586663)
We may mention them in `:help news-breaking` for visibility, but that's only because I don't care about pedantry. API breakage != UI changes (e.g. mappings).
Re:Neovim 0.12.0 on Monday March 30, 2026 @11:18AM (#47575430)
Changing default mappings is not a "breaking" change.
Re:Neovim 0.12.0 on Monday March 30, 2026 @11:14AM (#47575364)
Incremental selection is available by default in Nvim 0.12, see `:help v_in`.
Re:Neovim 0.12.0 on Sunday March 29, 2026 @05:33PM (#47567571)
It's documented here (with migration steps):

https://github.com/neovim/nvim-lspconfig#important-%EF%B8%8F

and in a pinned issue.

and nvim-lspconfig :help has a migration guide:

https://github.com/neovim/nvim-lspconfig/blob/16812abf0e8d81...

Re:Neovim Pack on Friday September 05, 2025 @01:26AM (#45135227)
When problems get solved, the remaining problems become more salient. The most salient feedback we get in the last 3+ years is that the "getting started" UX has too much friction. (And this affects old users too, whenever I install Nvim on a new machine without my bag-of-tricks, I notice where friction is.)

For most users that want LSP, or even just to try Nvim for 2 minutes to see what it can do, it's not acceptable that our intro docs have to say "go here or there to install this or that plugin manager, and read their docs, then come back...".

Being able to say "add vim.pack.add(http://...) to your config, then :restart", is a complete answer.

vim.pack is relatively tiny (low maintenance), and zero performance cost for users that don't use it. Not bloat.

It's the opposite of bloat, because it allows us to more often choose "runtime-dependencies", instead of "shipping the universe" in the default build. That's a very welcome "release valve".

- Example of "shipping the universe": Vim's 1000+ builtin syntax files, ftplugins, etc.

- Example of "runtime-dependencies": nvim-lspconfig, treesitter parsers.

> The only users who need to do that are the ones who have already found a plugin that they want to install,

You skipped some steps.

> automatic dependency management

None of the existing plugin managers do that, except luarocks.

Re:Neovim Pack on Thursday September 04, 2025 @05:18PM (#45132312)
Re:Amazonq.nvim: Official AWS AI Assistant Plugin for Neovim on Thursday September 04, 2025 @01:00AM (#45123744)
AWS Builder Id does not require an AWS account, just an email address and that's pretty much it.

https://us-east-1.credentials.signin.aws/

Re:Amazonq.nvim: Official AWS AI Assistant Plugin for Neovim on Wednesday September 03, 2025 @09:41AM (#45115683)
Nvim 0.12 (prerelease) also has ghost text with the "textDocument/inlineCompletion" LSP server capability[1]. Currently supported by the "copilot" config[2], but any LS that supports "textDocument/inlineCompletion" can be used (and the config[2] shows optional QoL improvements).

1: https://github.com/neovim/neovim/pull/33972

2: https://github.com/neovim/nvim-lspconfig/pull/4029

Re:Wanted: Console Text Editor for Windows on Sunday June 28, 2020 @12:45PM (#23670042)

    scoop install neovim
Re:Urbit OS 1 on Thursday April 30, 2020 @11:23PM (#23038777)
urbit "why":

> Each user runs their own node completely independently. Everyone using Urbit OS owns their own identity and data. ... over an encrypted and authenticated network.

Interesting note about OS 1 in particular:

> One really critical thing about OS 1 is the pattern of ‘groups sharing modules’. This pattern makes it perfectly clear how a virtual computer can outcompete a bunch of different services. ... quickly outruns the messy, disconnected world we’re currently stuck in.

Re:Open Source Initiative bans co-founder, Eric S Raymond on Tuesday March 10, 2020 @05:15PM (#22539792)
What parts of that email are so objectionable?
Re:Open Source Initiative bans co-founder, Eric S Raymond on Tuesday March 10, 2020 @05:14PM (#22539774)
> He thinks homosexuals are pedophile.

Do you have a primary source for that? This sounds like a cancel-culture rumor intended to attach negative ideas to a person in order to discredit them.

Re:MessagePack: like JSON, but fast and small on Tuesday March 10, 2020 @05:09PM (#22539722)
> MessagePack ... official C library was not optimized for memory usage and code size

But libmpack is: https://github.com/libmpack/libmpack

- libmpack serialization/deserialization API is callback-based, making it simple to serialize/deserialize directly from/to application-specific objects

- libmpack does no allocation at all, and provides some helpers to simplify dynamic allocation by the user, if required.

- C89

Re:Lisping at JPL (2002) on Saturday January 18, 2020 @09:05PM (#22088864)
Java, C++, etc. has the same number of parens, they are just placed differently.
Re:Haute Baroque Capitalism (2017) on Sunday January 05, 2020 @12:12PM (#21962306)
> In a city with 10+ million people you don't fall over each other when walking down the street. Usually the city is just big enough to compensate for high population.

I guess you haven't visited Tokyo. The streets are teeming with (non-tourist) people.

> then raises their own prices dramatically

When has that happened? How many times? And how much did it offset the previous period of low prices for consumers?

Indeed. "No price signal[1]" is very different from "no cost". It will cost plenty. Any service priced at zero simply has no back-pressure mechanism to respond to demand, nor to forecast demand, nor to measure demand in relation to alternative transportation options.

[1] https://en.wikipedia.org/wiki/Economic_calculation_problem

Re:Neovim Configuration and Plugins in Fennel Lisp on Monday December 02, 2019 @03:58AM (#21680921)
> This is why I don't use neovim ... this is just adding additional layers of complexity for no measurable gain in value

It's a plugin. It is not shipped with Neovim.

> I just want vim to start quickly, not crash, and generally get out of my way

That's a very low bar, which indicates you definitely aren't Neovim's target audience. If you're happy with Vim, carry on.

> Lua already is a first class, built in scripting language in Neovim.

Yes.

> (it can be disabled at build time)

No, Lua is not optional in Neovim.

Re:Brains are the last frontier of privacy on Sunday September 22, 2019 @03:21AM (#21040096)
I agree, but it's inevitable. The state has claimed all conceivable cut-points or transitions:

- Transportation. Any time you want to go somewhere by car or plane (and potentially bus/train[1]), the government has decided it has the right to search you.

- Interstate commerce. Most economic activity is taxed, and may be searched passively or actively to ensure that the state gets everything it wants.

- Communication. TV, radio, telephone, and now the internet are monitored and adjusted by the state.

Brain-to-network communication will eventually be commoditized, and the state will transitively invent some justification for monitoring it. Thus you may think thoughts which are shared with the network and for which you will be held liable.

The only difference is that today you type the thoughts on a keyboard.

I wrote an essay about this in 2011, for university.

[1] http://news.antiwar.com/2010/11/25/napolitano-eyes-full-body...

Re:Neovim v0.4.0 on Monday September 16, 2019 @04:01AM (#20981979)
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 reasoning about layers instead of one grid driven by special-cases throughout the project

- helps with features such as "click through", z-index, etc.

The blending (fake transparency) was a small (~200 LoC) amount of code, added only for fun (and to ruffle feathers).

Re:Neovim v0.4.0 on Monday September 16, 2019 @03:40AM (#20981875)

    inoremap <C-V> <C-R>+
    vnoremap <C-C> "+y
    cnoremap <C-V> <C-R>+
Re:Neovim v0.4.0 on Monday September 16, 2019 @03:36AM (#20981857)
yes and yes.
Re:Neovim v0.4.0 on Monday September 16, 2019 @02:53AM (#20981658)
You can create mappings for that.

Adding a bazillion one-off options like "Use Ctrl Keys" to avoid creating mappings, defeats the purpose of using vim, since creating mappings is the bare minimum way to configure it. (But Vim did so anyways for Windows, in the form of the "mswin.vim" plugin, which is enabled by default, causing confusion for users expecting vim to behave like vim.)

Re:Neovim v0.4.0 on Monday September 16, 2019 @02:13AM (#20981516)
> multigrid support, which would allow features such as scrollbars

also per-window font-size, dimensions, line-spacing--so Nvim UIs can add unlimited decorations to windows while the editor navigation remains exactly the same (driven by Nvim).

Re:Neovim v0.4.0 on Monday September 16, 2019 @01:57AM (#20981454)
Floating windows:

- Are real windows showing real buffers. No shortcuts, hacks, or compromises.

- Can be (re)positioned, anchored, or "external" (if supported by the UI).

- Support all features and API of normal windows, plus more.

Screenshot showing floating window with 'winblend':

https://twitter.com/Neovim/status/1145446583573594112

Yes, that screenshot shows Nvim in a terminal. The 'winblend' feature works in all UIs, including the TUI (all terminals that support RGB colors).

Older »