justinmk
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`.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.
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...
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.
scoop install neovim> 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.
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.
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
I guess you haven't visited Tokyo. The streets are teeming with (non-tourist) people.
When has that happened? How many times? And how much did it offset the previous period of low prices for consumers?
[1] https://en.wikipedia.org/wiki/Economic_calculation_problem
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.
Yes.
> (it can be disabled at build time)
No, Lua is not optional in Neovim.
- 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...
> 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).
inoremap <C-V> <C-R>+
vnoremap <C-C> "+y
cnoremap <C-V> <C-R>+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.)
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).
- 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).