Alternatif Copilot ultracepat dan gratis untuk Vim dan Neovim
Codeium melengkapi kode Anda secara otomatis dengan AI di semua IDE utama. Kami meluncurkan implementasi plugin Codeium untuk Vim dan Neovim untuk menghadirkan kekuatan super coding modern ini ke lebih banyak pengembang. Kunjungi taman bermain kami jika Anda ingin segera mencoba Codeium online.
Kontribusi dipersilakan! Jangan ragu untuk mengirimkan permintaan penarikan dan masalah yang terkait dengan plugin.
Instal Vim (setidaknya 9.0.0185) atau Neovim (setidaknya 0.6)
Instal Exafunction/codeium.vim
menggunakan pengelola plugin vim pilihan Anda, atau secara manual. Lihat Opsi Instalasi di bawah.
Jalankan :Codeium Auth
untuk menyiapkan plugin dan mulai menggunakan Codeium.
Anda dapat menjalankan :help codeium
untuk daftar lengkap perintah dan opsi konfigurasi, atau lihat panduan ini untuk tutorial singkat tentang cara menggunakan Codeium.
Untuk daftar lengkap opsi konfigurasi, Anda dapat menjalankan :help codeium
. Beberapa opsi paling populer disorot di bawah ini.
Codeium menyediakan fungsi berikut untuk mengontrol saran:
Tindakan | Fungsi | Pengikatan Bawaan |
---|---|---|
Hapus saran saat ini | codeium#Clear() |
|
Saran selanjutnya | codeium#CycleCompletions(1) |
|
Saran sebelumnya | codeium#CycleCompletions(-1) |
|
Sisipkan saran | codeium#Accept() |
|
Picu saran secara manual | codeium#Complete() |
|
Terima kata dari saran | codeium#AcceptNextWord() |
|
Terima baris dari saran | codeium#AcceptNextLine() |
|
Pengikatan kunci default Codeium dapat dinonaktifkan dengan pengaturan
let g: codeium_disable_bindings = 1
atau di Neovim:
vim . g . codeium_disable_bindings = 1
Jika Anda hanya ingin menonaktifkan pengikatan
, Anda juga dapat menggunakan opsi g:codeium_no_map_tab
.
Jika Anda ingin mengikat tindakan di atas ke kunci yang berbeda, ini mungkin terlihat seperti berikut di Vim:
imap codeium#Accept()
imap codeium#AcceptNextWord()
imap codeium#AcceptNextLine()
imap call codeium#CycleCompletions(1)
imap call codeium#CycleCompletions(-1)
imap call codeium#Clear()
Atau di Neovim (menggunakan wbthomason/packer.nvim atau 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
}
(Pastikan Anda menjalankan :Codeium Auth
setelah instalasi.)
Codeium dapat dinonaktifkan untuk tipe file tertentu dengan mengatur variabel g:codeium_filetypes
di file konfigurasi vim Anda (vimrc/init.vim):
let g: codeium_filetypes = {
" bash " : v: false ,
" typescript " : v: true ,
}
Codeium diaktifkan secara default untuk sebagian besar tipe file.
Anda juga dapat menonaktifkan codeium secara default dengan variabel g:codeium_enabled
, dan mengaktifkannya secara manual per buffer dengan menjalankan :CodeiumEnable
:
let g: codeium_enabled = v: false
atau di Neovim:
vim . g . codeium_enabled = false
Atau Anda dapat menonaktifkan codeium untuk semua tipe file dengan variabel g:codeium_filetypes_disabled_by_default
, dan menggunakan variabel g:codeium_filetypes
untuk mengaktifkan codeium secara selektif untuk tipe file tertentu:
" 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 ,
}
Jika Anda hanya ingin menonaktifkan pemicuan penyelesaian otomatis:
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()
Untuk menonaktifkan rendering teks saran secara otomatis (teks abu-abu yang muncul untuk saran):
let g: codeium_render = v: false
Status codeium dapat dihasilkan dengan memanggil fungsi codeium#GetStatusString()
. Di Neovim, Anda bisa menggunakan vim.api.nvim_call_function("codeium#GetStatusString", {})
sebagai gantinya. Ini menghasilkan string sepanjang 3 karakter dengan status Codeium:
'3/8'
- saran ketiga dari 8'0'
- Codeium tidak memberikan saran'*'
- menunggu respons Codeium Dalam mode normal, status menunjukkan apakah Codeium diaktifkan atau dinonaktifkan dengan menampilkan 'ON'
atau 'OFF'
.
Untuk menampilkannya di baris status, tambahkan baris berikut ke .vimrc
Anda:
set statusline+={…}%3{codeium#GetStatusString()}
Varian yang lebih pendek tanpa logo Codeium:
set statusline+=%3{codeium#GetStatusString()}
Silakan periksa :help statusline
untuk informasi lebih lanjut tentang membangun statusline di VIM.
vim-airline mendukung Codeium out-of-the-box sejak melakukan 3854429d.
Memanggil fungsi codeium#Chat()
atau menggunakan perintah Codeium Chat
akan mengaktifkan pencarian dan pengindeksan di proyek saat ini dan meluncurkan Codeium Chat di jendela browser baru.
: call codeium#Chat ()
:Codeium Chat
Akar proyek ditentukan dengan mencari di direktori kerja Vim saat ini untuk mencari beberapa file atau direktori tertentu dan naik ke direktori induk hingga ditemukan. Daftar petunjuk ini dapat dikonfigurasi pengguna dan nilai defaultnya adalah:
let g:codeium_workspace_root_hints = ['.bzr','.git','.hg','.svn','_FOSSIL_','package.json']
Perhatikan bahwa meluncurkan obrolan mengaktifkan telemetri.
{
' Exafunction/codeium.vim ' ,
event = ' BufEnter '
}
Plug ' Exafunction/codeium.vim ' , { ' branch ' : ' main ' }
Plugin ' Exafunction/codeium.vim '
use ' Exafunction/codeium.vim '
Jalankan yang berikut ini. Di windows, Anda dapat mengganti ~/.vim
dengan $HOME/vimfiles
:
git clone https://github.com/Exafunction/codeium.vim ~ /.vim/pack/Exafunction/start/codeium.vim
Jalankan yang berikut ini. Di windows, Anda dapat mengganti ~/.config
dengan $HOME/AppData/Local
:
git clone https://github.com/Exafunction/codeium.vim ~ /.config/nvim/pack/Exafunction/start/codeium.vim