Installation is easy. With your favorite package manager,
{
"thmsmlr/gpt.nvim",
config = function()
require('gpt').setup({
api_key = os.getenv("OPENAI_API_KEY")
})
opts = { silent = true, noremap = true }
vim.keymap.set('v', '<C-g>r', require('gpt').replace, {
silent = true,
noremap = true,
desc = "[G]pt [R]ewrite"
})
vim.keymap.set('v', '<C-g>p', require('gpt').visual_prompt, {
silent = false,
noremap = true,
desc = "[G]pt [P]rompt"
})
vim.keymap.set('n', '<C-g>p', require('gpt').prompt, {
silent = true,
noremap = true,
desc = "[G]pt [P]rompt"
})
vim.keymap.set('n', '<C-g>c', require('gpt').cancel, {
silent = true,
noremap = true,
desc = "[G]pt [C]ancel"
})
vim.keymap.set('i', '<C-g>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
There are three ways to use the plugin:
- In Visual Mode, select text and use it as the prompt with
<C-g>p
. ChatGPT will respond 2 lines below the selection.
explain-raw_EDIT_converted.mp4
- In Insert Mode,
<C-g>p
will ask you for a prompt. ChatGPT will insert it's response into the buffer at the cursor's location.
write-haiku-raw_EDIT_converted.mp4
- In Visual Mode, select text and rewrite it using
<C-g>r
. It'll ask you for the prompt to customize how GPT rewrites the selection.