بديل مساعد طيار مجاني وفائق السرعة لـ Vim وNeovim
يقوم Codeium بإكمال التعليمات البرمجية الخاصة بك تلقائيًا باستخدام الذكاء الاصطناعي في جميع بيئات التطوير المتكاملة (IDEs) الرئيسية. لقد أطلقنا هذا التطبيق للمكون الإضافي 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 افتراضيًا لمعظم أنواع الملفات.
يمكنك أيضًا تعطيل الكوديوم افتراضيًا باستخدام المتغير 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