Бесплатная, сверхбыстрая альтернатива Copilot для Vim и Neovim.
Codeium автоматически дополняет ваш код с помощью ИИ во всех основных IDE. Мы запустили эту реализацию плагина Codeium для Vim и Neovim, чтобы предоставить эту современную супервозможность кодирования большему количеству разработчиков. Посетите нашу игровую площадку, если хотите быстро опробовать Codeium онлайн.
Вклады приветствуются! Не стесняйтесь отправлять запросы на включение и сообщать о проблемах, связанных с плагином.
Установите Vim (минимум 9.0.0185) или Neovim (минимум 0,6).
Установите Exafunction/codeium.vim
используя выбранный вами менеджер плагинов vim, или вручную. См. Варианты установки ниже.
Запустите :Codeium Auth
, чтобы настроить плагин и начать использовать Codeium.
Вы можете запустить :help codeium
для получения полного списка команд и параметров конфигурации или просмотреть это руководство для краткого руководства по использованию Codeium.
Чтобы получить полный список параметров конфигурации, вы можете запустить :help codeium
. Ниже приведены некоторые из наиболее популярных вариантов.
Codeium предоставляет следующие функции для управления предложениями:
Действие | Функция | Привязка по умолчанию |
---|---|---|
Очистить текущее предложение | codeium#Clear() |
|
Следующее предложение | codeium#CycleCompletions(1) |
|
Предыдущее предложение | codeium#CycleCompletions(-1) |
|
Вставить предложение | codeium#Accept() |
|
Вручную активировать предложение | codeium#Complete() |
|
Принять слово из предложения | codeium#AcceptNextWord() |
|
Принять строку из предложения | codeium#AcceptNextLine() |
|
Сочетания клавиш Codeium по умолчанию можно отключить, установив
let g: codeium_disable_bindings = 1
или в Неовиме:
vim . g . codeium_disable_bindings = 1
Если вы хотите просто отключить привязку
, вы также можете использовать опцию g:codeium_no_map_tab
.
Если вы хотите привязать приведенные выше действия к разным клавишам, в Vim это может выглядеть примерно так:
imap codeium#Accept()
imap codeium#AcceptNextWord()
imap codeium#AcceptNextLine()
imap call codeium#CycleCompletions(1)
imap call codeium#CycleCompletions(-1)
imap call codeium#Clear()
Или в Neovim (используя wbthomason/packer.nvim или Folke/lazy.nvim):
-- Remove the `use` here if you're using folke/lazy.nvim.
use {
' Exafunction/codeium.vim ' ,
config = function ()
-- Change '' here to any keycode you like.
vim . keymap . set ( ' i ' , ' ' , function () return vim . fn [ ' codeium#Accept ' ]() end , { expr = true , silent = true })
vim . keymap . set ( ' i ' , ' ' , function () return vim . fn [ ' codeium#CycleCompletions ' ]( 1 ) end , { expr = true , silent = true })
vim . keymap . set ( ' i ' , ' ' , function () return vim . fn [ ' codeium#CycleCompletions ' ]( - 1 ) end , { expr = true , silent = true })
vim . keymap . set ( ' i ' , ' ' , function () return vim . fn [ ' codeium#Clear ' ]() end , { expr = true , silent = true })
end
}
(Убедитесь, что вы запустили :Codeium Auth
после установки.)
Codeium можно отключить для определенных типов файлов, установив переменную g:codeium_filetypes
в файле конфигурации vim (vimrc/init.vim):
let g: codeium_filetypes = {
" bash " : v: false ,
" typescript " : v: true ,
}
Codeium включен по умолчанию для большинства типов файлов.
Вы также можете отключить codeium по умолчанию с помощью переменной g:codeium_enabled
и включить его вручную для каждого буфера, запустив :CodeiumEnable
:
let g: codeium_enabled = v: false
или в Неовиме:
vim . g . codeium_enabled = false
Или вы можете отключить кодирование для всех типов файлов с помощью переменной g:codeium_filetypes_disabled_by_default
и использовать переменную g:codeium_filetypes
для выборочного включения кодирования для указанных типов файлов:
" let g:codeium_enabled = v:true
let g: codeium_filetypes_disabled_by_default = v: true
let g: codeium_filetypes = {
" rust " : v: true ,
" typescript " : v: true ,
}
Если вы хотите просто отключить автоматический запуск завершений:
let g: codeium_manual = v: true " You might want to use `CycleOrComplete()` instead of `CycleCompletions(1)`. " This will make the forward cycling of suggestions also trigger the first " suggestion manually. imapcall codeium#CycleOrComplete()
Чтобы отключить автоматическое отображение текста предложений (серый текст, который появляется для предложения):
let g: codeium_render = v: false
Статус Codeium можно сгенерировать, вызвав функцию codeium#GetStatusString()
. В Neovim вместо этого вы можете использовать vim.api.nvim_call_function("codeium#GetStatusString", {})
. Он создает строку длиной 3 символа со статусом Codeium:
'3/8'
— третье предложение из 8.'0'
— Codeium не вернул никаких предложений.'*'
- ожидание ответа Codeium В обычном режиме статус показывает, включен или отключен Codeium, показывая 'ON'
или 'OFF'
.
Чтобы отобразить его в строке состояния, добавьте следующую строку в свой .vimrc
:
set statusline+={…}%3{codeium#GetStatusString()}
Укороченный вариант без логотипа Codeium:
set statusline+=%3{codeium#GetStatusString()}
Пожалуйста, проверьте :help statusline
для получения дополнительной информации о создании строки состояния в VIM.
vim-airline поддерживает Codeium «из коробки» с момента фиксации 3854429d.
Вызов функции codeium#Chat()
или использование команды Codeium Chat
включит поиск и индексирование в текущем проекте и запустит Codeium Chat в новом окне браузера.
: call codeium#Chat ()
:Codeium Chat
Корень проекта определяется путем поиска в текущем рабочем каталоге Vim определенных файлов или каталогов и поднимается до родительских каталогов, пока не будет найден один из них. Этот список подсказок настраивается пользователем, а значение по умолчанию:
let g:codeium_workspace_root_hints = ['.bzr','.git','.hg','.svn','_FOSSIL_','package.json']
Обратите внимание, что запуск чата включает телеметрию.
{
' Exafunction/codeium.vim ' ,
event = ' BufEnter '
}
Plug ' Exafunction/codeium.vim ' , { ' branch ' : ' main ' }
Plugin ' Exafunction/codeium.vim '
use ' Exafunction/codeium.vim '
Запустите следующее. В Windows вы можете заменить ~/.vim
на $HOME/vimfiles
:
git clone https://github.com/Exafunction/codeium.vim ~ /.vim/pack/Exafunction/start/codeium.vim
Запустите следующее. В Windows вы можете заменить ~/.config
на $HOME/AppData/Local
:
git clone https://github.com/Exafunction/codeium.vim ~ /.config/nvim/pack/Exafunction/start/codeium.vim