Evgeni Chasnovski's Avatar

Evgeni Chasnovski

@echasnovski.com

Data science, Machine learning | R, Python, Lua | Neovim plugins, mini.nvim

741
Followers
60
Following
168
Posts
14.11.2024
Joined
Posts Following

Latest posts by Evgeni Chasnovski @echasnovski.com

Thanks to @bfredl.bsky.social casting his magic, some benchmarks had to be redone to show different (better) performance. So the post has been updated.

TL;DR for those who read the original: there is now no practical difference in performance of using one vs many `vim.pack.add()` calls.

27.02.2026 16:14 πŸ‘ 7 πŸ” 1 πŸ’¬ 1 πŸ“Œ 0
Preview
feat(lsp): add vim.lsp.server to create in-process server by mfussenegger Β· Pull Request #24338 Β· neovim/neovim Early WIP/draft: There are occasionally requests for dedicated APIs for code actions or codelens, (also formatter, but there's formatexpr, formatprg and !cmd and afaik so far no explanation of ...

Yeah, code actions is a great way to implement custom operations at cursor.

Btw, if you feel like it, this PR may benefit from your experience: github.com/neovim/neovi...

Maybe even take over it if the author doesn't mind.

18.02.2026 21:03 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Bluesky Comments Extension – BlueSky Comments

With Quarto - relatively straightforward to add with quarto-ext.github.io/bluesky-comm....

Although there is friction when using, as it requires a link to a Bluesky post in a blog post. So it is: post blog -> post Bluesky -> edit blog post with a link for comments.
Didn't find a smoother way :(

17.02.2026 11:07 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Preview
MiniMax updates: vim.pack on Neovim>=0.12, config for Neovim=0.10 – MINI MiniMax got two new reference configs: nvim-0.12 for Neovim>=0.12 (uses vim.pack) and nvim-0.10 for Neovim=0.10

MiniMax now uses `vim.pack` on Neovim>=0.12 and usable on Neovim=0.10.

This is a more exciting news than it might look, because it is the first step towards MINI adapting `vim.pack` as the plugin manager. 'mini.deps' will be retired soon-ish after Neovim 0.12 release.

nvim-mini.org/blog/2026-02...

15.02.2026 18:41 πŸ‘ 12 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Yeah, backups is a must of course. It's just possible to do it manually in several clicks on Bluesky itself. But it is not the same for generating a rotation key.

15.02.2026 07:43 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I like PDS MOOver and this looks like a perfect opportunity to ask. Is there a plan to add "Generate rotation key" without actual migration? Or is it better to be handled locally with software (in which case a step-by-step guide would go a long way)?

14.02.2026 11:01 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Preview
MiniMax – MINI Modular Independent Neovim Improvements

MiniMax has six, but it is planed to be even fewer.
nvim-mini.org/MiniMax/

03.02.2026 07:46 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

The way I do it is with `vim.schedule(function() ... end)`. When inside config file, it will be executed after first draw.

A more convenient solution is to use `later()` from 'mini.deps'. I also plan to add a more involved function to 'mini.misc', since 'mini.deps' will retire eventually.

31.01.2026 07:46 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Bluesky Comments Extension – BlueSky Comments

By the way, the blog from now on should have comments powered by Bluesky. Answers for Bluesky post above (this one included) should also be shown as comments below blog post.

It is powered by `bluesky-comments` Quarto extension: quarto-ext.github.io/bluesky-comm...

27.01.2026 16:23 πŸ‘ 3 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Preview
How many Neovim plugins is too many – Evgeni Chasnovski Exploration of how number of loaded plugins affect startup+runtime performance

For the longest time I was curious to measure the exact impact of how number of loaded #neovim plugins affects performance.

So I finally did it: echasnovski.com/blog/2026-01...

27.01.2026 16:23 πŸ‘ 15 πŸ” 0 πŸ’¬ 3 πŸ“Œ 1

Yeah... Don't look inside 'mini.pick' :)

But bare in mind that this is a file that contains code+documentation *and* provides the whole autocompletion functionality (LSP suppprt, extra info in a window, signature in a window, and more) in a single file.

24.01.2026 07:35 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Then you might sleep well tonight. After several minutes of watching this :)

I'd quoted the answer there and then, but typing the whole thing was too slow compared to pointing to the timestamp. @linkarzu.bsky.social has very detailed timestamps, which helped here.

22.01.2026 20:39 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Thanks for taking your time to arrange the interview, @linkarzu.bsky.social!

We talked about Neovim, mini.nvim, MiniMax, Linux, terminals, and some other topics. Check it out. It is long (3+ hours), but it was fun to do. Hopefully also fun to watch/listen.

22.01.2026 14:56 πŸ‘ 8 πŸ” 0 πŸ’¬ 3 πŸ“Œ 0
the new PR page on tangled showing off the 3 panel layout.

the new PR page on tangled showing off the 3 panel layout.

hello tanglers, its release time! to kick things off, we first have:

✨ a brand new pull-request review page ✨

you can view the file-tree, diff/interdiff and review comments, all in one page with this new 3-panel layout!

1/7

21.01.2026 15:25 πŸ‘ 242 πŸ” 27 πŸ’¬ 4 πŸ“Œ 5

The most important distinction is the "packaging".

LazyVim is a "Neovim distro" - collection of plugins+configs mostly managed by the distro.

MiniMax is a "config generator" - execute a script and it makes a regular, highly commented Neovim config. Managing+tweaking it after is up to the user.

21.01.2026 15:23 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

So although we didn't have an opportunity to work together on the logo, I gained a respect for Jason for answering a cold email about a free work inquiry to help a relatively new open source project.

20.01.2026 07:22 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

He graciously agreed to work something out. Free of charge.

But by the time I've read the answer, I've already had an idea about pixel art style logo. Mostly because I could do it myself with basic tools.

It also turned out beneficial to adapt to any module, since it's quite versatile.

20.01.2026 07:22 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

That's a very good news for me. Thank you for spreading the word!

I want to tell Bluesky a small story about @jasonlong.me. He is the original author of the Neovim logo. I am no artist, so when it was time for 'mini.nvim' to get one, I emailed him to ask if he is up for help.

20.01.2026 07:22 πŸ‘ 11 πŸ” 0 πŸ’¬ 2 πŸ“Œ 0

I've moved from Input Mono to a heavily customized Iosevka. Pretty happy. It's amazing how much tweaking one can do.

16.01.2026 13:39 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

My guess would be that `vim.g.mapleader` is set *after* making Visual mode mappings that have `<Leader>`. This would make those use default leader key, which is `\`.

You can check this with `:xmap \` and see if there are unexpected mappings.

16.01.2026 08:13 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
how to sponsor you? Β· Issue #917 Β· nvim-mini/mini.nvim Contributing guidelines I have read CONTRIBUTING.md I have read CODE_OF_CONDUCT.md Module(s) mini.nvim Description mini.nvim is fantastic. First i was skeptical how one person can maintain a reason...

Thanks for the suggestion! πŸ™ No, at least not yet.

I have vague plans to open financial support for MINI project, though. One way to get notified is to subscribe to this issue: github.com/nvim-mini/mi....

07.01.2026 14:58 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Yeah... Didn't realize it can have a sentimental value on top of being a generally good "landing page".
But yes, I think it indeed can πŸ€”

04.01.2026 21:03 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Try yanking in Neovim with either "+y or "*y and then paste outside. These use registers dedicated for such cases.

If you want to share Neovim clipboard with system, take a look at `:h 'clipboard'` option.

03.01.2026 11:22 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

I am really grateful for the opportunity to work on vim.pack this year. It is mostly ready and I am very proud of the result.

Thank you Neovim team for the trust!

31.12.2025 14:27 πŸ‘ 21 πŸ” 0 πŸ’¬ 4 πŸ“Œ 0
ASCII "art" done inside `nvim --clean` that resembles Christmas tree

ASCII "art" done inside `nvim --clean` that resembles Christmas tree

Merry Christmas from your favorite text editor!

25.12.2025 13:32 πŸ‘ 124 πŸ” 9 πŸ’¬ 4 πŸ“Œ 0
Preview
Release 0.17.0 – MINI Command line tweaks, move to a GitHub org, new website, and a ton of module updates

After whopping 7 months since the latest one, 'mini.nvim' got a new 0.17.0 release.

It contains one new module ('mini.cmdline') and many small improvements for existing ones.

Check out the release blog post: nvim-mini.org/blog/2025-12...

18.12.2025 16:37 πŸ‘ 12 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
Preview
Announcing β€˜mini.cmdline’ – MINI Command line tweaks: autocompletion, autocorrection, autopeek range

After about 7 months, 'mini.nvim' gets a new module: 'mini.cmdline'. It contains command line tweaks that'll make #neovim usage a bit better: autocompletion, autocorrection, and autopeek of command range (like `:10` or `:10,20sort`).

Link to a releases blog post: nvim-mini.org/blog/2025-12...

07.12.2025 16:23 πŸ‘ 10 πŸ” 1 πŸ’¬ 0 πŸ“Œ 1

I'm happy to announce that my PDS, selfhosted.social, is officially open to the public now!

03.12.2025 18:10 πŸ‘ 210 πŸ” 64 πŸ’¬ 16 πŸ“Œ 5
Preview
MINI Modular Independent Neovim Improvements

Christmas month has officially started for MINI!

The site and mini.nvim + MiniMax logos are now holiday themed. Check them out: nvim-mini.org

01.12.2025 11:46 πŸ‘ 5 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Neovim still has all the basics of Vim, but with improved default options, first class Lua support for configs, and bigger standard library.

Any template/distro adds plugins, custom mappings, and more.

Kickstart and MiniMax are meant for user to read config files. This should make it easier.

25.11.2025 08:51 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0