Kostenlose, ultraschnelle Copilot-Alternative für Vim und Neovim
Codeium vervollständigt Ihren Code automatisch mit KI in allen wichtigen IDEs. Wir haben diese Implementierung des Codeium-Plugins für Vim und Neovim eingeführt, um diese moderne Codierungs-Superleistung mehr Entwicklern zugänglich zu machen. Schauen Sie sich unseren Spielplatz an, wenn Sie Codeium schnell online ausprobieren möchten.
Beiträge sind willkommen! Sie können jederzeit Pull-Anfragen und Probleme im Zusammenhang mit dem Plugin einreichen.
Installieren Sie Vim (mindestens 9.0.0185) oder Neovim (mindestens 0.6)
Installieren Sie Exafunction/codeium.vim
mit dem Vim-Plugin-Manager Ihrer Wahl oder manuell. Siehe Installationsoptionen unten.
Führen Sie :Codeium Auth
aus, um das Plugin einzurichten und Codeium zu verwenden.
Sie können :help codeium
ausführen, um eine vollständige Liste der Befehle und Konfigurationsoptionen zu erhalten, oder in dieser Anleitung eine kurze Anleitung zur Verwendung von Codeium finden.
Für eine vollständige Liste der Konfigurationsoptionen können Sie :help codeium
ausführen. Nachfolgend werden einige der beliebtesten Optionen hervorgehoben.
Codeium bietet die folgenden Funktionen zur Steuerung von Vorschlägen:
Aktion | Funktion | Standardbindung |
---|---|---|
Aktuellen Vorschlag löschen | codeium#Clear() |
|
Nächster Vorschlag | codeium#CycleCompletions(1) |
|
Vorheriger Vorschlag | codeium#CycleCompletions(-1) |
|
Vorschlag einfügen | codeium#Accept() |
|
Vorschlag manuell auslösen | codeium#Complete() |
|
Akzeptieren Sie das Wort des Vorschlags | codeium#AcceptNextWord() |
|
Akzeptieren Sie die Zeile aus dem Vorschlag | codeium#AcceptNextLine() |
|
Die Standard-Tastenkombinationen von Codeium können durch Einstellung deaktiviert werden
let g: codeium_disable_bindings = 1
oder in Neovim:
vim . g . codeium_disable_bindings = 1
Wenn Sie nur die
-Bindung deaktivieren möchten, können Sie alternativ die Option g:codeium_no_map_tab
verwenden.
Wenn Sie die oben genannten Aktionen an verschiedene Schlüssel binden möchten, könnte dies in Vim etwa wie folgt aussehen:
imap codeium#Accept()
imap codeium#AcceptNextWord()
imap codeium#AcceptNextLine()
imap call codeium#CycleCompletions(1)
imap call codeium#CycleCompletions(-1)
imap call codeium#Clear()
Oder in Neovim (mit wbthomason/packer.nvim oder 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
}
(Stellen Sie sicher, dass Sie :Codeium Auth
nach der Installation ausgeführt haben.)
Codeium kann für bestimmte Dateitypen deaktiviert werden, indem Sie die Variable g:codeium_filetypes
in Ihrer vim-Konfigurationsdatei (vimrc/init.vim) festlegen:
let g: codeium_filetypes = {
" bash " : v: false ,
" typescript " : v: true ,
}
Codeium ist für die meisten Dateitypen standardmäßig aktiviert.
Sie können Codeium auch standardmäßig mit der Variablen g:codeium_enabled
deaktivieren und es manuell pro Puffer aktivieren, indem Sie :CodeiumEnable
ausführen:
let g: codeium_enabled = v: false
oder in Neovim:
vim . g . codeium_enabled = false
Oder Sie können Codeium für alle Dateitypen mit der Variablen g:codeium_filetypes_disabled_by_default
deaktivieren und die Variable g:codeium_filetypes
verwenden, um Codeium selektiv für bestimmte Dateitypen zu aktivieren:
" 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 ,
}
Wenn Sie das automatische Auslösen von Abschlüssen einfach deaktivieren möchten:
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()
So deaktivieren Sie die automatische Textwiedergabe von Vorschlägen (der graue Text, der für einen Vorschlag angezeigt wird):
let g: codeium_render = v: false
Der Codeium-Status kann durch Aufrufen der Funktion codeium#GetStatusString()
generiert werden. In Neovim können Sie stattdessen vim.api.nvim_call_function("codeium#GetStatusString", {})
verwenden. Es wird eine 3 Zeichen lange Zeichenfolge mit dem Codeium-Status erzeugt:
'3/8'
– dritter Vorschlag von 8'0'
– Codeium hat keine Vorschläge zurückgegeben'*'
– Warten auf Codeium-Antwort Im Normalmodus zeigt der Status an, ob Codeium aktiviert oder deaktiviert ist, indem 'ON'
oder 'OFF'
angezeigt wird.
Um es in der Statuszeile anzuzeigen, fügen Sie die folgende Zeile zu Ihrer .vimrc
Datei hinzu:
set statusline+={…}%3{codeium#GetStatusString()}
Kürzere Variante ohne Codeium-Logo:
set statusline+=%3{codeium#GetStatusString()}
Weitere Informationen zum Erstellen der Statuszeile in VIM finden Sie unter :help statusline
.
vim-airline unterstützt Codeium sofort einsatzbereit seit Commit 3854429d.
Durch Aufrufen der Funktion codeium#Chat()
oder Verwendung des Befehls Codeium Chat
wird die Suche und Indizierung im aktuellen Projekt aktiviert und Codeium Chat in einem neuen Browserfenster gestartet.
: call codeium#Chat ()
:Codeium Chat
Der Projektstamm wird ermittelt, indem im aktuellen Arbeitsverzeichnis von Vim nach bestimmten Dateien oder Verzeichnissen gesucht wird, und es wird zu den übergeordneten Verzeichnissen übergegangen, bis eines gefunden wird. Diese Liste mit Hinweisen ist vom Benutzer konfigurierbar und der Standardwert ist:
let g:codeium_workspace_root_hints = ['.bzr','.git','.hg','.svn','_FOSSIL_','package.json']
Beachten Sie, dass durch das Starten des Chats Telemetrie aktiviert wird.
{
' Exafunction/codeium.vim ' ,
event = ' BufEnter '
}
Plug ' Exafunction/codeium.vim ' , { ' branch ' : ' main ' }
Plugin ' Exafunction/codeium.vim '
use ' Exafunction/codeium.vim '
Führen Sie Folgendes aus. Unter Windows können Sie ~/.vim
durch $HOME/vimfiles
ersetzen:
git clone https://github.com/Exafunction/codeium.vim ~ /.vim/pack/Exafunction/start/codeium.vim
Führen Sie Folgendes aus. Unter Windows können Sie ~/.config
durch $HOME/AppData/Local
ersetzen:
git clone https://github.com/Exafunction/codeium.vim ~ /.config/nvim/pack/Exafunction/start/codeium.vim