windsurf.vim
免费的,超快的副本替代vim和neovim
Windsurf在所有主要IDE中使用AI自动完成您的代码。我们启动了VIM和Neovim的Windsurf插件的实现,以将这种现代化的编码超级大国带给更多的开发人员。如果您想快速在线尝试Windsurf,请查看我们的操场。
欢迎捐款!随时提交与插件相关的拉动请求和问题。
入门
-
安装VIM(至少9.0.0185)或Neovim(至少0.6)
-
运行:Codeium auth设置插件并开始使用Windsurf。
您可以运行:帮助命令和配置选项的完整列表的帮助,或者查看本指南,以获取有关如何使用Windsurf的快速教程。
配置
有关配置选项的完整列表,您可以运行:帮助编码。下面突出显示了一些最受欢迎的选项。
⌨️关键
Windsurf提供以下功能来控制建议:
| 行动 | 功能 | 默认绑定 |
|---|---|---|
| 明确的建议 | ceceium#clear() | <c-]> |
| 下一个建议 | #cyclecontertions(1) | <m-]> |
| 以前的建议 | 编量#CycleCompletions(-1) | <m- [> |
| 插入建议 | coceium#accept() | <tab> |
| 手动触发建议 | 编量#完整() | <m-bslash> |
| 接受建议 | codeium#acceptnextword() | <ck> |
| 接受建议 | codeium#acceptnextline() | <cl> |
Windsurf的默认键键可以通过设置禁用
let g: codeium_disable_bindings = 1
或Neovim:
vim . g . codeium_disable_bindings = 1
如果您只想禁用<tab>绑定,则可以使用g:ceceium_no_map_tab选项。
如果您想将上述操作绑定到不同键,则可能看起来像以下内容:
imap <script> <silent><nowait><expr> <C-g> codeium#Accept() imap <script> <silent><nowait><expr> <C-h> codeium#AcceptNextWord() imap <script> <silent><nowait><expr> <C-j> codeium#AcceptNextLine() imap <C-;> <Cmd> call codeium#CycleCompletions(1) <CR> imap <C-,> <Cmd> call codeium#CycleCompletions(-1) <CR> imap <C-x> <Cmd> call codeium#Clear() <CR>
或在neovim(使用wbthomason/packer.nvim或folke/lazy.nvim)中:
windsurf.vim\’,
config = function ()
— Change \'<C-g>\’ here to any keycode you like.
vim.keymap.set(\’i\’, \'<C-g>\’, function () return vim.fn[\’codeium#Accept\’]() end, { expr = true, silent = true })
vim.keymap.set(\’i\’, \'<c-;>\’, function() return vim.fn[\’codeium#CycleCompletions\’](1) end, { expr = true, silent = true })
vim.keymap.set(\’i\’, \'<c-,>\’, function() return vim.fn[\’codeium#CycleCompletions\’](-1) end, { expr = true, silent = true })
vim.keymap.set(\’i\’, \'<c-x>\’, function() return vim.fn[\’codeium#Clear\’]() end, { expr = true, silent = true })
end
}\”>
-- Remove the `use` here if you\'re using folke/lazy.nvim. use { \' Exafunction/ windsurf.vim \' , config = function () -- Change \'<C-g>\' here to any keycode you like. vim . keymap . set ( \' i \' , \' <C-g> \' , function () return vim . fn [ \' codeium#Accept \' ]() end , { expr = true , silent = true }) vim . keymap . set ( \' i \' , \' <c-;> \' , function () return vim . fn [ \' codeium#CycleCompletions \' ]( 1 ) end , { expr = true , silent = true }) vim . keymap . set ( \' i \' , \' <c-,> \' , function () return vim . fn [ \' codeium#CycleCompletions \' ]( - 1 ) end , { expr = true , silent = true }) vim . keymap . set ( \' i \' , \' <c-x> \' , function () return vim . fn [ \' codeium#Clear \' ]() end , { expr = true , silent = true }) end }
(确保您运行:安装后的Codeium auth。)
⛔禁用风力冲浪
可以通过在VIM配置文件(VIMRC/INIT.VIM)中设置G:Ceceium_filetypes变量来禁用特定Filetypes的Windsurf:
let g: codeium_filetypes = { \\ \" bash \" : v: false , \\ \" typescript \" : v: true , \\ }
默认情况下,大多数Filetypes启用了Windsurf。
您还可以默认使用G:ceceium_enabled变量禁用Codeium,并通过运行:CoceiumEnable:Codeiumable:
let g: codeium_enabled = v: false
或Neovim:
vim . g . codeium_enabled = false
或者,您可以使用G:ceceium_filetypes_disabled_by_default变量禁用所有FileTypes的清理,并使用G:ceceium_filetypes变量可在指定的Filetype中选择性地启用Ceceium:
\" 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. imap <C-;> <Cmd> call codeium#CycleOrComplete() <CR>
禁用建议的自动文本渲染(出现建议的灰色文本):
let g: codeium_render = v: false
在状态线中显示帆板状态
可以通过调用#getStatusString()函数来生成挥杆状态。在Neovim中,您可以使用vim.api.nvim_call_function(“ ceceium#getStatusString”,{})。它产生了一个具有帆冲浪状态的3个char长字符串:
- \’3/8\’ – 8中的第三个建议
- \’0\’ – 蜿蜒曲折没有任何建议
- \’*\’ – 等待帆冲浪反应
在正常模式下,状态显示是否通过显示“ ON”或“ OFF”来启用或禁用了风浪冲浪。
为了在状态行中显示它,将以下行添加到您的.vimrc:
设置statusline+= \\ {…\\}%3 {ceceium#getStatusString()}
较短的变体没有帆冲浪徽标:
设置状态线+=%3 {ceceium#getStatusString()}
请检查:帮助状态线以获取有关VIM建筑状态线的更多信息。
自从提交3854429d以来,VIM-Airline支持开箱即用的帆板。
启动Windsurf聊天
调用Codleium#Chat()函数或使用Codeium Chat命令将启用当前项目中的搜索和索引,并在新的浏览器窗口中启动Codeium Chat。
: call codeium#Chat () :Codeium Chat
项目根是通过在VIM当前工作目录中查找某些特定文件或目录存在的并升至父目录直到找到一个目录来确定的。此提示列表是用户可配置的,默认值是:
令G:ceceium_workspace_root_hints = [\’.bzr\’,\’。git\’,\’。hg\’,\’。svn\’,\’_ possil _\’,\’potpack.json\’]
请注意,启动聊天启用遥测。
?安装选项
?懒
windsurf.vim\’,
event = \’BufEnter\’
}\”>
{
\' Exafunction/ windsurf.vim \' ,
event = \' BufEnter \'
}
?VIM插头
Plug \' Exafunction/ windsurf.vim \' , { \' branch \' : \' main \' }
?vundle
Plugin \' Exafunction/ windsurf.vim \'
?packer.nvim:
use \' Exafunction/ windsurf.vim \'
?手册
vim
运行以下内容。在Windows上,您可以用$ home/vimfiles替换〜/.vim:
git clone https://*githu*b*.com/Exafunction/windsurf\\.vim ~ /.vim/pack/Exafunction/start/ windsurf.vim
Neovim
运行以下内容。在Windows上,您可以用$ home/appdata/local替换〜/.config:
git clone https://*githu*b*.com/Exafunction/windsurf\\.vim ~ /.config/nvim/pack/Exafunction/start/ windsurf.vim
