exit.nvim is a neovim plugin that allows you to prompt LLMs (large language models) to write Vim commands:
Once you know how to exit Vim, you can do more useful stuff:
It is suggested to use the latest release tag instead of main.
Using vim-plug
Plug '3v0k4/exit.nvim', { 'tag': '0.4.0' }
Using dein
call dein#add('3v0k4/exit.nvim', { 'rev': '0.4.0' })
" or , { 'rev': '0.4.x' })
Using packer.nvim
use {
'3v0k4/exit.nvim', tag = '0.4.0',
}
Using lazy.nvim
-- init.lua:
{
'3v0k4/exit.nvim', tag = '0.4.0',
}
-- plugins/exit.lua:
return {
'3v0k4/exit.nvim', tag = '0.4.0',
}
After installing, you can type :h exit.nvim
:
================================================================================
*exit.nvim*
exit.nvim is a neovim plugin that allows you to prompt LLMs (large language
models) to write Vim commands:
1. `:lua require('exit').setup({ model = 'openai:gpt-4o-mini' })`
2. `:lua require('exit').prompt('How do I exit Vim?')`
You can set up shortcuts in your neovim config (if you configure Vim with
LUA, you don't need the first and last lines):
>
lua << EOF
require('exit').setup({ model = 'openai:gpt-4o-mini' })
vim.api.nvim_create_user_command('ExitModel', function(opts)
require('exit').set_model(opts.args)
end, { nargs = 1 })
vim.api.nvim_create_user_command('Exit', function(opts)
require('exit').prompt(opts.args)
end, { nargs = '*' })
EOF
<
With the shortcuts in place, you can prompt exit.nvim as follows:
`:Exit How do I exit Vim?`
Or change the model with:
`:ExitModel openai:gpt-4o`
API keys for LLMs are saved in either "$XDG_DATA_HOME/exit.nvim" or
"$HOME/.local/share/exit.nvim".
The source code is available at https://github.com/3v0k4/exit.nvim
:h exit.setup
:h exit.set_model
:h exit.prompt
exit.setup({opts}) *exit.setup()*
Setup function to configure what LLM to use: >
require('exit').setup({
model = 'openai:gpt-4o-mini'
})
<
Valid keys for {opts.model}:
- 'openai:MODEL'
- 'ollama:MODEL'
- 'anthropic:MODEL'
exit.set_model({model_id}) *exit.set_model()*
Sets what LLM to use: >
require('exit').set_model('openai:gpt-4o-mini')
<
Valid keys for {model_id}:
- 'openai:MODEL'
- 'ollama:MODEL'
- 'anthropic:MODEL'
exit.prompt({prompt}) *exit.prompt()*
Prompts the LLM: >
require('exit').prompt('How do I exit Vim?')
<
vim:tw=78:ts=8:ft=help:norl:
To release a new version add a tag and push:
git tag vX.Y.Z
git push --tags
Bug reports and pull requests are welcome on GitHub.
The module is available as open source under the terms of the MIT License.