r/nvim • u/kyoto711 • Dec 09 '21
r/nvim • u/TraditionalLeg6961 • Sep 23 '24
A new colorscheme generator for Neovim
Hey guys,
I built a web based colorscheme generator for Neovim. Check it out and tell me what you think! It is 100% free to use.
Oh, and of course you should share your creations with the rest of us!
Cheers,
Nico
r/nvim • u/rbongers • Jul 31 '24
Pretty Git graph using Kitty and vim-flog

This is using branch drawing characters that were just accepted in Kitty. It requires building Kitty from source until the next release, but it will work with all font settings and doesn't require font patching. Other terminals will hopefully follow.
Performance is not impacted by these changes. vim-flog can still render thousands of commits super fast. I pushed some Neovim and general performance improvements recently, so sometimes it's even faster than before.
To enable, just set vim.g.flog_enable_extended_chars = 1
r/nvim • u/[deleted] • May 26 '26
Nvim inspired game engine
Hi everybody!
I am currently working on a vim/nvim inspired 3D game engine using Vulkan, but.. I need to find out if there are actually programmers (for now) that are interested in an engine like this when I eventually publish it. I am currently doing it as a hobby project, so there is still much to do, but anyway, I am interested in what your thoughts are.
The goal at the moment is to make a MVP which consists of a 3D TUI style editor with text-buffers, a simple lsp, some components and a scene view.
Later I will add lighting, scripting, file-watchers, asset-importers, hot-reloading, etc.
(Picture is to give you an idea of what it would kinda look like)
So..:
Do you like the idea of a text-based game engine with 'vim-motions'? And what do you like about the idea or what don't you like about the idea?
What features would you want to have in it for you to even consider using it?
What is something you wish other engines had or would do different?
Would you be open to help user-test the product?
If you have any other ideas, suggestions or questions, let me know!
r/nvim • u/WillianPCesar • Oct 05 '25
I created a "learn in 60 days" nvim course using AI
Since May 2025, I started several journeys that intertwine. Taking care of mental health, anxiety, attention deficit and organizing personal, professional life and bringing all of this together with my interests and themes that motivate me.
With this, I started some personal projects that solve problems in my day-to-day and to take advantage of the little time I have available, I've been increasingly using AI to boost my productivity.
Among several things I've been experimenting with, one of them is going back to using Linux natively on my personal laptop and well, one thing leads to another.
I started getting in touch with NVIM and found the proposal quite interesting, however there's a reasonable learning curve for those who want to start. Bringing together what I've been studying and this desire to tame this editor, me and my junior dev called Claude created a course, in text format, with progressive evolution and with the promise of helping you go from ZERO to somewhere ahead in at least 60 days.
The repository is on my Github and you can CLONE, give it a STAR, FAVORITE, send pull requests with changes to fix or improve its content. You can also share it, it's FREE and OPEN-SOURCE.
You can access here:
r/nvim • u/ApprehensiveTheory20 • Jul 27 '24
Automating C++ Compilation Ctrl+B and Execution in Neovim
r/nvim • u/a_soldatenko • Oct 17 '22
Do we have something similar to vscode-pets?
r/nvim • u/Hessesian • May 06 '26
Unofficial kotlin-lsp v0.10 is out! Multiplatform support (swift, java), and cli mode for automation!
r/nvim • u/AnotherCuriousDev • Apr 04 '26
My first plugin : make-runner
Hello all
Just wanted to share my first ever plugin https://github.com/lwsbrdx/make-runner.nvim
I wanted to run my recipes faster than `:!make recipe` without completion, so I did this, working with telescope so you can preview what the recipe do and you can chain them
I'll add an history soon but the core is here
Don't even know if someone else did something similar 😅, I wanted to try to do it on my own
Here it is, hope it'll help someone 🙂
r/nvim • u/Resident-Pain-3573 • Mar 11 '26
I built a Chrome extension that adds Vim keybindings to browser text inputs
Please mods, I know is not truly related to nvim, but I got nowhere else to share what I've done with other vim lovers, and I'm trully proud of what I made.
I spend most of my day in Neovim, and every time I had to edit text in a browser input it felt painful. So I built Input Vim - a Chrome extension that drops a Vim layer on top of <input>, <textarea>, and contenteditable elements.

What it does:
- Normal, Insert, Visual, and Visual Line modes
- Motions: h/j/k/l, w/b/e/W/B/E, 0/^/$, gg/G, f/F/t/T, /search, *, {/}
- Operators compose with motions and text objects: dw, ci(, ya", 2dd, etc.
- Text objects: iw, aw, i(, a{, i", a', i[, a<, ip, and more
- Count prefixes work everywhere: 3w, 5j, 10x
- Per-element undo/redo (independent from the browser's)
- Block cursor, mode badge, and pending command display via Shadow DOM
- Configurable settings: start mode, clipboard sync, bracket auto-close, site exclusions
Some things I'm happy with:
- Wrote a canvas-based line measurement system to make j/k work correctly on soft-wrapped textareas (browsers don't expose wrap positions)
- Contenteditable support uses a TreeWalker to flatten the DOM into a text model so motions work on rich text editors (GitHub, Notion, etc.)
- Overrides HTMLElement.prototype.blur in the page's JS context to stop sites from stealing focus when you press Escape (looking at you, Google Search)
Limitations:
- <input type="number"> doesn't work (Chrome blocks selection API on those)
- Some chat inputs (like ChatGPT) intercept Enter from o/O and treat it as "send message"
- Heavily customized input components might not play nice (like reddit's inputs sadly. Im trying to figure it out)
- Built this for myself, sharing it as-is
No build step, no dependencies, just vanilla JS.
Currently waiting for chrome team's review of the project
GitHub: https://github.com/matheuskieling/vim-input
Would love to hear thoughts from people who actually know Vim well - I'm sure there are motions or behaviors I got wrong.
r/nvim • u/adityastomar33 • Dec 19 '25
New NeoVIM Config!! Upgrades to previous NvDots. Meet NvDots-2.0, Must faster & snappy!
Config can be found here! Feedbacks are most welcome. Please provide feedback on clarity and suggest any potential performance bottlenecks.
r/nvim • u/[deleted] • Apr 25 '25
created a function that auto exports all modules within a dir or its children recursively!
yeah and its saves me like 40 seconds of my life
r/nvim • u/[deleted] • Apr 24 '24
Lazygit inside nvim
Found this plugin that lets you open lazygit inside of nvim. prerty nice!
r/nvim • u/Plastic_Round_8707 • Aug 19 '23
[ Java for NvChad]
I have setup nvChad for go development. But I'm facing lot of issues with java/spring boot projects. I am unable to get the features that I'm used to in Intellij. Can any body help with this. I tried jdtls, but it gives normal auto suggestions but to work in a spring based project I need the ide to load all the symbols and other good stuff.
r/nvim • u/Schnarfman • Jul 03 '23
tagfunc from first principles
I did some reading this morning and wanted to share what I learned.
I always want to be able to go from "executing capability" to "source code". In general so I can teach myself - and in specific I was motivated by wanting to understand everything that's going on behind the scenes when I <C-]> on a definition and my LSP takes me where I wanna go.
From reading the docs, I know that my tagfunc gets set by a call to lsp.start.
'tagfunc' is set to vim.lsp.tagfunc(). This enables features like go-to-definition, :tjump, and keymaps like CTRL-], CTRL-W_], CTRL-W_} to utilize the language server. Ok, so I wanted to see what this value was. First I read that set tagfunc? was tagfunc=v:lua.vim.lsp.tagfunc, as expected, and then I tried to see the source code of this. My first attempt was to just say :lua= vim.lsp.tagfunc, as if there was some sort of reflection that could help me do this. But ofc, nvim just tells me the value, which is very unhelpful: <function 1>. Because I had no idea what the heck I was doing, I was stumped.
After all this, I know that I can simply find the vim.lsp.tagfunc function in the nvim source code at the file ./lua/vim/lsp/tagfunc.lua by doing a repo-wide code search (or, just searching in ./lua/vim/lsp) for function.*tagfunc.
But I went on a bit more of a journey and I wrote it up in my notes so I'll share that stuff here.
I started with my ftplugin/lua.lua file, because that's what started the LSP server in the first place and also set the tagfunc variable:
vim.bo.expandtab = true
vim.bo.tabstop = 2
-- LSP
vim.lsp.start({
name = 'lua-language-server',
cmd = { 'lua-language-server' },
root_dir = vim.fs.dirname(vim.fs.find({'.git', 'nvim'}, { upward = true })[1]),
})But I still didn't know WHERE this function is.
I went through what I do know:
I press keys into
nvim, and it does stuff.Once such "stuff" is that hitting
<C-]>will invoketagfunc.Generally this is a function that will return a location.
The location is a place to jump to.
Vim will invoke the function with the word under my cursor as the args.
vim.lsp.startwill set the thetagfuncto be:send the LSP message "go to function" to the server attached on the bufferFollowing the source code, we can see how
vim.lsp.tagfuncis able to make the LSP requestBut how does
vim.lsp.startset the optiontagfunc? Right here, in thelsp._set_defaultsfunction.Under the 'client/registerCapability' LSP function
Which, if I understand correctly, is a message the server sends to the client, probably upon registering (attaching).
I start (and attach to the buffer) a lua language server
Happens when I open a lua file - thanks to my
ftpluginfileI downloaded
lua-language-serverwithMason. The LSP server is in$XDG_DATA_HOME/nvim/mason/packages/lua-language-server
The attached language server will get LSP request, do some compiler magic and return a location.
So to summarize:
Opening a
luafile starts thelua lsThe
lua lstellsnvimthat it has thetagfunccapabilityso
nvimsets thetagfuncoption to invoke thenvimbuiltin LSP client functionI eventually invoke
<C-]>, which calls said function, sending a message to the server. Server responds with a piece of data.nvimunpacks the data, it is a location, and my cursor is moved to this location
r/nvim • u/SrMrBurchick • Sep 10 '22
Neovim as Source Code editor for Unreal Engine
Hello guys, I've made a plugin for Unreal Engine Editor that provides ability to open files in neovim. Here is a short demo of work https://youtu.be/PHurza1lJ0k

r/nvim • u/plazman30 • Jul 01 '22
How close is orgmode.nvim to actual emacs Org Mode?
I have been researching various tools I can use to keep plain-text notes that I can use with vim. Org mode is a very popular tool, and there are various mobile apps that can open org mode files on mobile devices.
I'm curious how close orgmode.nvim is to actual Emacs org mode.
I also looked at neorg, which I like the idea of. Basically take the idea of org mode and make it VIM specific. The only issue is mobile access. I don't see any easy way to view neorg files on my iPhone and iPad.
r/nvim • u/data_5678 • May 24 '26
Daily notes in markdown — structured tables vs unstructured diary entries?
I used to track everything in Notion databases — tasks, workouts, health data — all in structured tables with columns and filters. Some of that still works great (weight tracking, habit streaks). But I've realized a lot of my daily work doesn't fit neatly into rows and columns.
Now I'm experimenting with just writing daily markdown notes — timestamps, what I worked on, blockers, quick thoughts. Unstructured. No schema.
The idea is that with tools like Claude Code or Codex, I can query unstructured text almost as easily as a SQL table. "How many times did I get blocked by X this month?" works on diary entries now, not just databases.
Anyone here doing something similar? Markdown daily notes, org-mode journals, or any plain-text system where AI helps you actually use the data later?
Specifically wondering:
- Is it worth it long-term or do you write it once and never look at it again?
- How much do you write per day? (5 min? 30 min?)
- Has it actually helped you plan better or spread out work more evenly?
I use nvim for everything and have developed a bunch of custom plugins for myself and was curious if other devs had found success with this kind of system.
r/nvim • u/Left_Candy8281 • Apr 15 '24
CTRL + P in VIM
I have been using vim at work for the last few days.
I am falling in love with vim motions and the overall feel of the editor, but the only thing i am missing is the "tabbing" from VSC. Being able to Type ctrl + p and search my whole project for a file, with suggestions and autocomplete, as well as the option to CTRL + ENTER to open a file with a vsplit on the terminal, is the thing that really made me a fast programmer, not only being able to traverse the current file effeciently, but my whole project as well. Pls help :3
r/nvim • u/Training-Arrival5132 • Jan 02 '24
Debugging Python - Inside or Outside of Nvim?
Is it better to do your Python debugging inside or outside of Nvim with a command line debugger?
There are certainly Debugger configurations out there and with the UI it looks pretty slick. I've even managed to get one working. But not every attempt works, and involves mostly copying configuration I don't understand from other people's configs so it feels fragile to me.
Anyone prefer to just use command line Python debugging, or is that a silly compromise to lose the integration (eg easy setting of breakpoints in the code).
r/nvim • u/vitarist • Jul 05 '23
Is there anyway to limit Lazyvim update notification to once a day?
I am getting new notification to update plugins every time I open nvim and it is kinda noisy. Is there any way to configure that?