Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/thmsmlr/gpt.nvim
ChatGPT in your Neovim, customizable by you, for your usecases
https://github.com/thmsmlr/gpt.nvim
Last synced: 3 months ago
JSON representation
ChatGPT in your Neovim, customizable by you, for your usecases
- Host: GitHub
- URL: https://github.com/thmsmlr/gpt.nvim
- Owner: thmsmlr
- Created: 2023-03-06T15:55:47.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-02-23T14:59:05.000Z (9 months ago)
- Last Synced: 2024-06-20T14:05:35.767Z (5 months ago)
- Language: Lua
- Size: 3.04 MB
- Stars: 33
- Watchers: 2
- Forks: 7
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-vim-llm-plugins - thmsmlr/gpt.nvim
README
gpt.nvim
Installation is easy.
With your favorite package manager,```lua
{
"thmsmlr/gpt.nvim",
config = function()
require('gpt').setup({
api_key = os.getenv("OPENAI_API_KEY")
})opts = { silent = true, noremap = true }
vim.keymap.set('v', 'r', require('gpt').replace, {
silent = true,
noremap = true,
desc = "[G]pt [R]ewrite"
})
vim.keymap.set('v', 'p', require('gpt').visual_prompt, {
silent = false,
noremap = true,
desc = "[G]pt [P]rompt"
})
vim.keymap.set('n', 'p', require('gpt').prompt, {
silent = true,
noremap = true,
desc = "[G]pt [P]rompt"
})
vim.keymap.set('n', 'c', require('gpt').cancel, {
silent = true,
noremap = true,
desc = "[G]pt [C]ancel"
})
vim.keymap.set('i', 'p', require('gpt').prompt, {
silent = true,
noremap = true,
desc = "[G]pt [P]rompt"
})
end
}
```You can get an API key via the [OpenAI user settings page](https://platform.openai.com/account/api-keys)
It also requires that you have `yq` installed,
```
$ pacman -S yq
```## Usage
There are three ways to use the plugin:
1. In Visual Mode, select text and use it as the prompt with `p`.
ChatGPT will respond 2 lines below the selection.https://user-images.githubusercontent.com/167206/223229448-821fd6f5-745b-4c44-a9e0-4afd6238e018.mp4
2. In Insert Mode, `p` will ask you for a prompt.
ChatGPT will insert it's response into the buffer at the cursor's location.https://user-images.githubusercontent.com/167206/223229643-940f2fa3-57ad-4dfb-a254-0fcc27dda13f.mp4
3. In Visual Mode, select text and rewrite it using `r`.
It'll ask you for the prompt to customize how GPT rewrites the selection.https://user-images.githubusercontent.com/167206/223229656-1dcb9fad-5864-492f-9aeb-6e6ec6c584d7.mp4