Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Neovim plugin to generate text using LLMs with customizable prompts
| Date | Stars |
|---|---|
| 2026-07-31 | 1527 |
| 2026-08-01 | 1527 |
| 2026-08-06 | 1527 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
# gen.nvim
Generate text using LLMs with customizable prompts
<div align="center">

</div>
## Video
<div align="center">
[](https://youtu.be/FIZt7MinpMY?si=KChSuJJDyrcTdYiM)
</div>
## Requires
- [Ollama](https://ollama.ai/) with an appropriate model, e.g. [`llama3.2`](https://ollama.com/library/llama3.2), [`mistral`](https://ollama.ai/library/mistral), etc.
- [Curl](https://curl.se/)
## Install
Install with your favorite plugin manager, e.g. [lazy.nvim](https://github.com/folke/lazy.nvim)
Example with Lazy
```lua
-- Minimal configuration
{ "David-Kunz/gen.nvim" },
```
```lua
-- Custom Parameters (with defaults)
{
"David-Kunz/gen.nvim",
opts = {
model = "mistral", -- The default model to use.
quit_map = "q", -- set keymap to close the response window
retry_map = "<c-r>", -- set keymap to re-send the current prompt
accept_map = "<c-cr>", -- set keymap to replace the previous selection with the last result
host = "localhost", -- The host running the Ollama service.
port = "11434", -- The port on which the Ollama service is listening.
display_mode = "float", -- The display mode. Can be "float" or "split" or "horizontal-split" or "vertical-split".
show_prompt = false, -- Shows the prompt submitted to Ollama. Can be true (3 lines) or "full".
show_model = false, -- Displays which model you are using at the beginning of your chat session.
no_auto_close = false, -- Never closes the window automatically.
file = false, -- Write the payload to a temporary file to keep the command short.
hidden = false, -- Hide the generation window (if true, will implicitly set `prompt.replace = true`), requires Neovim >= 0.10
init = function(options) pcall(io.popen, "ollama serve > /dev/null 2>&1 &") end,
-- Function to initialize Ollama
command = function(options)
local body = {model = options.model, stream = true}
return "curl --silent --no-buffer -X POST http://" .. options.host .. ":" .. options.port .. "/api/chat -d $body"
end,
-- The command for the Ollama service. You can use placeholders $prompt, $model and $body (shellescaped).
-- This can also be a command string.
-- The executed command must return a JSON object with { response, context }
-- (context property is optional).
-- list_models = '<omitted lua function>', -- Retrieves a list of model names
result_filetype = "markdown", -- Configure filetype of the result buffer
debug = false -- Prints errors and the command which is run.
}
},
```
Here are all [available models](https://ollama.com/library).
Alternatively, you can call the `setup` function:
```lua
require('gen').setup({
-- same as above
})
```
## Usage
Use command `Gen` to generate text based on predefined and customizable prompts.
Example key maps:
```lua
vim.keymap.set({ 'n', 'v' }, '<leader>]', ':Gen<CR>')
```
You can also directly invoke it with one of the [predefined prompts](./lua/gen/prompts.lua) or your custom prompts:
```lua
vim.keymap.set('v', '<leader>]', ':Gen Enhance_Grammar_Spelling<CR>')
```
After a conversation begins, the entire context is sent to the LLM. That allows you to ask follow-up questions with
```lua
:Gen Chat
```
and once the window is closed, you start with a fresh conversation.
For prompts which don't automatically replace the previously selected text (`replace = false`), you can replace the selected text with the generated output with `<c-cr>`.
You can select a model from a list of all installed models with
```lua
require('gen').select_model()
```
## Custom Prompts
[All prompts](./lua/gen/prompts.lua) are defined in `rExcerpt of 5,240 characters
Read on GitHub202
9
6
6
5
3
3
3
2
2
2
2
1
Ikko Eltociear Ashimine · Japan
1
1
Bhargav Shirin Nalamati · GITAM · India
1
Kushal Agrawal
1
Prathamesh Pawar · International Institute Of Information Technology, Pune · India
1
Daniele Scasciafratte · Codeat SRLS · Italy
1
1
Would you bet a product on this? Bounded 0–100 and slow moving.
matched fp:7dc8c8e2e43c6ec1, llm:description: 'Neovim plugin to generate text using LLMs with customizable prompts' (repository description)
matched fp:7dc8c8e2e43c6ec1, llm:description: 'Neovim plugin to generate text using LLMs with customizable prompts' (repository description)