Alternativa Copilot ultrarrápida y gratuita para Vim y Neovim
Codeium completa automáticamente su código con IA en todos los IDE principales. Lanzamos esta implementación del complemento Codeium para Vim y Neovim para llevar este superpoder de codificación moderno a más desarrolladores. Visite nuestro área de juegos si desea probar rápidamente Codeium en línea.
¡Las contribuciones son bienvenidas! No dudes en enviar solicitudes de extracción y problemas relacionados con el complemento.
Instale Vim (al menos 9.0.0185) o Neovim (al menos 0.6)
Instale Exafunction/codeium.vim
usando el administrador de complementos vim de su elección o manualmente. Consulte las Opciones de instalación a continuación.
Ejecute :Codeium Auth
para configurar el complemento y comenzar a usar Codeium.
Puede ejecutar :help codeium
para obtener una lista completa de comandos y opciones de configuración, o consultar esta guía para obtener un tutorial rápido sobre cómo usar Codeium.
Para obtener una lista completa de opciones de configuración, puede ejecutar :help codeium
. Algunas de las opciones más populares se destacan a continuación.
Codeium proporciona las siguientes funciones para controlar las sugerencias:
Acción | Función | Enlace predeterminado |
---|---|---|
Borrar sugerencia actual | codeium#Clear() |
|
Siguiente sugerencia | codeium#CycleCompletions(1) |
|
Sugerencia anterior | codeium#CycleCompletions(-1) |
|
Insertar sugerencia | codeium#Accept() |
|
Activar sugerencia manualmente | codeium#Complete() |
|
Aceptar palabra de sugerencia | codeium#AcceptNextWord() |
|
Aceptar línea de sugerencia | codeium#AcceptNextLine() |
|
Las combinaciones de teclas predeterminadas de Codeium se pueden desactivar configurando
let g: codeium_disable_bindings = 1
o en Neovim:
vim . g . codeium_disable_bindings = 1
Si desea simplemente deshabilitar el enlace
, también puede usar la opción g:codeium_no_map_tab
.
Si desea vincular las acciones anteriores a diferentes claves, esto podría verse así en Vim:
imap codeium#Accept()
imap codeium#AcceptNextWord()
imap codeium#AcceptNextLine()
imap call codeium#CycleCompletions(1)
imap call codeium#CycleCompletions(-1)
imap call codeium#Clear()
O en Neovim (usando wbthomason/packer.nvim o 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
}
(Asegúrese de haber ejecutado :Codeium Auth
después de la instalación).
Codeium se puede desactivar para tipos de archivos particulares configurando la variable g:codeium_filetypes
en su archivo de configuración de vim (vimrc/init.vim):
let g: codeium_filetypes = {
" bash " : v: false ,
" typescript " : v: true ,
}
Codeium está habilitado de forma predeterminada para la mayoría de los tipos de archivos.
También puede desactivar codeium de forma predeterminada con la variable g:codeium_enabled
y habilitarlo manualmente por búfer ejecutando :CodeiumEnable
:
let g: codeium_enabled = v: false
o en Neovim:
vim . g . codeium_enabled = false
O puede deshabilitar codeium para todos los tipos de archivos con la variable g:codeium_filetypes_disabled_by_default
y usar la variable g:codeium_filetypes
para habilitar selectivamente codeium para tipos de archivos específicos:
" 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 ,
}
Si desea simplemente desactivar la activación automática de finalizaciones:
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()
Para deshabilitar la representación automática de texto de sugerencias (el texto gris que aparece para una sugerencia):
let g: codeium_render = v: false
El estado de Codeium se puede generar llamando a la función codeium#GetStatusString()
. En Neovim, puedes usar vim.api.nvim_call_function("codeium#GetStatusString", {})
en su lugar. Produce una cadena de 3 caracteres de largo con estado Codeium:
'3/8'
- tercera sugerencia de 8'0'
- Codeium no devolvió sugerencias'*'
- esperando respuesta de Codeium En el modo normal, el estado muestra si Codeium está habilitado o deshabilitado mostrando 'ON'
o 'OFF'
.
Para mostrarlo en la línea de estado, agregue la siguiente línea a su .vimrc
:
set statusline+={…}%3{codeium#GetStatusString()}
Variante más corta sin el logo de Codeium:
set statusline+=%3{codeium#GetStatusString()}
Consulte :help statusline
para obtener más información sobre cómo crear una línea de estado en VIM.
vim-airline admite Codeium listo para usar desde la confirmación 3854429d.
Llamar a la función codeium#Chat()
o usar el comando Codeium Chat
permitirá la búsqueda y la indexación en el proyecto actual e iniciará Codeium Chat en una nueva ventana del navegador.
: call codeium#Chat ()
:Codeium Chat
La raíz del proyecto se determina buscando en el directorio de trabajo actual de Vim algunos archivos o directorios específicos que estén presentes y sube a los directorios principales hasta que se encuentra uno. Esta lista de sugerencias es configurable por el usuario y el valor predeterminado es:
let g:codeium_workspace_root_hints = ['.bzr','.git','.hg','.svn','_FOSSIL_','package.json']
Tenga en cuenta que iniciar el chat habilita la telemetría.
{
' Exafunction/codeium.vim ' ,
event = ' BufEnter '
}
Plug ' Exafunction/codeium.vim ' , { ' branch ' : ' main ' }
Plugin ' Exafunction/codeium.vim '
use ' Exafunction/codeium.vim '
Ejecute lo siguiente. En Windows, puede reemplazar ~/.vim
con $HOME/vimfiles
:
git clone https://github.com/Exafunction/codeium.vim ~ /.vim/pack/Exafunction/start/codeium.vim
Ejecute lo siguiente. En Windows, puede reemplazar ~/.config
con $HOME/AppData/Local
:
git clone https://github.com/Exafunction/codeium.vim ~ /.config/nvim/pack/Exafunction/start/codeium.vim