Evgeni Chasnovski's Avatar

Evgeni Chasnovski

@echasnovski.com.bsky.social

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

690 Followers  |  48 Following  |  135 Posts  |  Joined: 14.11.2024  |  1.6774

Latest posts by echasnovski.com on Bluesky

Today also is a birthday of 'mini.nvim' (4 years) and 'mini.pick' (2 years). So let's celebrate this together! πŸŽ‰

13.10.2025 16:01 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
MiniMax - Neovim with maximum MINI – MINI MiniMax is a collection of fully working self-contained Neovim configs. Each uses mostly MINI.

I am very happy to announce the release of MiniMax - Neovim config example(s) that is primarily based on MINI/mini.nvim.

The plan was to wait until when 'mini.statuscolumn' and 'mini.terminals' are implemented, but decided to just do it now.

Here is the release post: nvim-mini.org/blog/2025-10...

13.10.2025 16:01 β€” πŸ‘ 14    πŸ” 1    πŸ’¬ 2    πŸ“Œ 0

This is more than I could have hoped for. Thank you for your time doing this!

Left more details in the gist's comment.

Just to be clear: I am not advocating for you (or anyone) to move away from Helix. I think having a more informed decision will be a win-win situation here :)

10.10.2025 17:53 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
GitHub - nvim-mini/mini.nvim: Library of 40+ independent Lua modules improving Neovim experience with minimal effort Library of 40+ independent Lua modules improving Neovim experience with minimal effort - nvim-mini/mini.nvim

Notes would be helpful. Thanks!

I am the 'mini.nvim' (github.com/nvim-mini/mi...) author. It contains a lot of useful modules. Better grep can come from 'mini.pick' and reference window can come from 'mini.clue'.

But it is Lua/Neovim only. So based on the other response, might not be a good fit.

10.10.2025 16:11 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Ah, that makes sense.

If you want to have a single Vimscript config for both Vim/Neovim, there is a way to source code only for Neovim: guard it behind `if has('nvim')`. Using Lua code in Vimscript is possible with `lua << EOF ... EOF` (see `:h lua-heredoc` in Neovim).

10.10.2025 16:07 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

I am a part of Neovim team and author of plugins that improve mentioned behavior (there are many such plugins).

We are continuously trying to improve Neovim's "out of the box" LSP experience. So if you used those approaches, any feedback would be appreciated. If not - completely fine, of course :)

10.10.2025 15:54 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Not to detract from Helix (which is great), but for reference:
- Did you use new Neovim's `vim.lsp.enable` + `vim.lsp.config` together with 'neovim/nvim-lspconfig' plugin? The server setup is usually one line.
- Did you try dedicated plugins for better search and quick reference window?

10.10.2025 15:18 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

This is awesome! I've waited for this for so long.

10.10.2025 14:35 β€” πŸ‘ 6    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
MINI Modular Independent Neovim Improvements

I am very pleased to announce that MINI/mini.nvim project finally has its own site: nvim-mini.org .

Having to link to txt Neovim help files on GitHub for documentation is mildly inhumane towards the users πŸ˜…
But no more!

More details here: nvim-mini.org/blog/2025-10...

03.10.2025 15:00 β€” πŸ‘ 11    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0
Preview
Open Social β€” overreacted The protocol is the API.

i wrote about atproto and why it matters

26.09.2025 15:33 β€” πŸ‘ 2635    πŸ” 480    πŸ’¬ 108    πŸ“Œ 133

Finally decided to switch to a custom domain handle. It is now @echasnovski.com instead of a previous @echasnovski.bsky.social.

13.09.2025 14:41 β€” πŸ‘ 7    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

However, usable `vim.pack` out of the box without wrappers is the design goal. It already is, just need to iron out several creases.

I've read comments that "lazy load everything" people were converted to "just list all plugins in `vim.pack.add()`". There are opposite comments, sure. That's okay.

07.09.2025 16:29 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Ah, okay. I *kind of* agree for users that want everything to work out of the box *exactly* how it used to with other managers.

At the same time, brave people who are versed in configuring Neovim are welcome to try it out. Testing it out within documented feature set is highly appreciated.

07.09.2025 16:29 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

What quality of life features do you have in mind? Making it overcomplicated is a slippery slope that also leads to overcomplicating plugin ecosystem in return.

The already current set of features is enough for an average user. It might be baaic for plugin devs, but that is much smaller group.

07.09.2025 09:42 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

'mini.diff' can do "almost" that with multiple sources, but otherwise you can write your own source. Should not be too verbose with your requirements.

04.09.2025 15:51 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

But the name is the beast part 😭

And it was created just before AI became so widespread.

29.08.2025 15:42 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Move to a GitHub organization Β· nvim-mini mini.nvim Β· Discussion #1970 Hello, 'mini.nvim' users! The echasnovski/mini.nvim plugin (along with all its standalone repos) was transferred to a dedicated nvim-mini GitHub organization. Important notes: I do not plan to move...

After much deliberation, contemplating, overanalyzing, preparation, overanalyzing (yes, again), and finally execution I transferred 'mini.nvim' plugin to the separate GitHub organization.

I hope this will improve long term stability of the project. More details here: github.com/nvim-mini/mi....

28.08.2025 14:18 β€” πŸ‘ 15    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Thanks to caring and compassionate redditors, the account is now unsuspended.

I'd also like to thank @lukas.famichiki.jp.ap.brid.gy for doing huge work of manually approving all my previous posts before knowing that suspension would be lifted. This probably helped the case, really.

23.08.2025 17:13 β€” πŸ‘ 11    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Hi! There at least the following:
- @neovim.io - official Neovim account.
- bsky.app/profile/did:... - feed that tracks Neovim+Vim and some other editors. That's how I saw your post :)

21.08.2025 07:46 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
tending your editor config: building sylvee & lynn my adventure building a native-first neovim experience

finally finished writing this absolute behemoth of a blogpost.
it's a nice read if you're interested in neovim and its builtin features :)

robinroses.xyz/blog/neovim-...

13.08.2025 22:07 β€” πŸ‘ 24    πŸ” 6    πŸ’¬ 4    πŸ“Œ 0
Preview
mini.diff config for jujutsu Β· echasnovski mini.nvim Β· Discussion #1783 Sharing in case someone finds it useful. Should work with multiple repos/workspaces. Doesn't have hunks since those don't make sense with jj. Uses --ignore-working-copy so it should pollute your op...

Take a look at this 'mini.diff' config: github.com/echasnovski/...

There are plans to make this setup more streamlined, but no time frame yet.

06.08.2025 16:01 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

But judging by the video, it is a direct Insert mode mapping for `jk` somewhere. The cursor slightly "lags" after pressing `j` when typing slowly. It means that Neovim waits for the next key to decide if the letter should be inserted or is it a part of a mapping.

01.08.2025 15:39 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

It is a 'better-escape' type of plugin. This showcases its intended usage: quickly typing some two letters (usually `jk`) exits into Normal mode.
For some people it is easier than `<Esc>`, but for me it feels too intrusive.

01.08.2025 15:35 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Treesitter | Learn nvim Learn how to use Neovim and survive the experience

neovim's built-in "treesitter support" is a cool feature that has been around for a while now. i didn't found many resources that explain what is, so i wrote something

vonheikemen.github.io/learn-nvim/f...

#neovim

28.07.2025 14:54 β€” πŸ‘ 10    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0

Then look at Neovim issues to see what makes *you* want to fix it.

But note that not only Lua fix/feature is a valuable contribution. Improving documentation (better wording or typo fix) or Lua types are very welcome.

There is also C part of thr codebase, but I know very little about it.

26.07.2025 06:34 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Try to first get comfortable with Lua and Neovim. I think the best "exercise" here is to write your own statusline. Not for other people to use it, but only for own config.

Writing the plugin that solves some practical issue is a good second step. It can be for a language or tool, for example.

26.07.2025 06:34 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

I have been making appeals regularly, but there is no effect currently.

If anyone has a more direct line of communication with Reddit support/admins outside of regular appeals or Redditor help center, I'd highly appreciate if they take a look at the account status. Thanks πŸ™

21.07.2025 13:18 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

PSA: my Reddit account (same as Bluesky handle) has been suspended for 11 days now. All its past content (mostly #neovim posts + comments) is currently hidden by Reddit filters.

It was due to a false positive inauthentic activity detection. I reset the password, but account is still shadow banned.

21.07.2025 13:18 β€” πŸ‘ 8    πŸ” 0    πŸ’¬ 1    πŸ“Œ 1
Post image

Neovim vs Emacs | Roundtable w/ TJ DeVries, DistroTube, Greg Anders & Joshua Blais
(Video in 1st comment)

20.07.2025 12:09 β€” πŸ‘ 5    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0

It is a more organized way of modifying 'runtimepath' *plus* executing necessary 'plugin/' scripts, yes. Like, it will also add plugin's 'after/' directory to 'rtp' if needed.

15.07.2025 11:16 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

@echasnovski.com is following 20 prominent accounts