This project serves as an alternative to the official Codeium Neovim/Vim plugin, but using the Open-Codeium-Engine instead.
- Ai Code Completion using codebase context
- Ai Chat
First follow the setup instructions in the engine repository.
Second, add BlazeMCworld/open-codeium.nvim to your plugins, and MunifTanjim/nui.nvim to its dependencies.
Once done, configure the keybinds. Here is an example:
local codeium = require("codeium")
vim.keymap.set("i", "<Tab>", function()
if codeium.completions.is_shown() then
codeium.completions.accept()
else
vim.fn.feedkeys(" ", "i")
end
end)
vim.keymap.set("i", "<M-Right>", codeium.completions.next)
vim.keymap.set("i", "<M-Left>", codeium.completions.prev)Valid methods are:
codeium.completions.is_shown()If a completion is shown at the moment.codeium.completions.accept()Accept the current completion.codeium.completions.next()Show the next completion.codeium.completions.prev()Show the previous completion.codeium.completions.dispose()Reject the suggestions.
Firstly, you will need to login, for that use :CodeiumLogin. Once that is done you can use your specified keybindings for the completions.
For getting better completions, you will most likely want to use :CodeiumIndexAdd with a file or directory, to add it to the index.
The indexing happens locally, and may take a bit. When specifying a directory, all files will be added recursively. Files already indexed will be skipped, unless they were changed since then. You are recommended to setup a .codeiumignore file, according to the documentation in the engine repository, in case you want to automatically exclude files.
For opening the chat, just use :CodeiumChat, the chat history will be kept, as long as neovim is open, or until you type /clear (or its alias /new) into the chat box.

