Vim 및 Neovim을 위한 무료 초고속 Copilot 대안
Codeium은 모든 주요 IDE에서 AI로 코드를 자동 완성합니다. 우리는 더 많은 개발자에게 최신 코딩 능력을 제공하기 위해 Vim 및 Neovim용 Codeium 플러그인 구현을 출시했습니다. Codeium을 온라인으로 빠르게 사용해 보려면 놀이터를 확인해 보세요.
기여를 환영합니다! 풀 요청 및 플러그인과 관련된 문제를 자유롭게 제출해 주세요.
Vim(9.0.0185 이상) 또는 Neovim(0.6 이상)을 설치하세요.
선택한 vim 플러그인 관리자를 사용하거나 수동으로 Exafunction/codeium.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
또는 Neovim에서:
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
실행했는지 확인하세요.)
vim 구성 파일(vimrc/init.vim)에서 g:codeium_filetypes
변수를 설정하여 특정 파일 형식에 대해 Codeium을 비활성화할 수 있습니다.
let g: codeium_filetypes = {
" bash " : v: false ,
" typescript " : v: true ,
}
Codeium은 대부분의 파일 형식에 대해 기본적으로 활성화되어 있습니다.
g:codeium_enabled
변수를 사용하여 기본적으로 codeium을 비활성화 하고 :CodeiumEnable
실행하여 버퍼별로 수동으로 활성화할 수도 있습니다.
let g: codeium_enabled = v: false
또는 Neovim에서:
vim . g . codeium_enabled = false
또는 g:codeium_filetypes_disabled_by_default
변수를 사용하여 모든 파일 형식 에 대해 Codeium을 비활성화하고 g:codeium_filetypes
변수를 사용하여 지정된 파일 형식에 대해 Codeium을 선택적으로 활성화할 수 있습니다.
" 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", {})
대신 사용할 수 있습니다. Codeium 상태를 포함하는 3자 길이의 문자열을 생성합니다.
'3/8'
- 8개 중 세 번째 제안'0'
- Codeium이 제안 사항을 반환하지 않았습니다.'*'
- Codeium 응답을 기다리는 중 일반 모드에서 상태는 'ON'
또는 'OFF'
표시하여 Codeium의 활성화 또는 비활성화 여부를 표시합니다.
상태 표시줄에 표시하려면 .vimrc
에 다음 줄을 추가하세요.
set statusline+={…}%3{codeium#GetStatusString()}
Codeium 로고가 없는 더 짧은 변형:
set statusline+=%3{codeium#GetStatusString()}
VIM에서 statusline 구축에 대한 자세한 내용은 :help statusline
확인하세요.
vim-airline은 커밋 3854429d부터 Codeium을 기본적으로 지원합니다.
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