
Fitten Code
在 Vim 中安装并配置 Fitten Code 实现 AI 代码补全
面向 Vim 用户的 Fitten Code 配置教程:安装单文件插件、用 :Fittenlogin 登录、用 Ctrl-L 触发补全、用 Tab 接受补全,并通过 g:fitten_trigger 与 g:fitten_accept_key 自定义快捷键,最后用开关命令控制自动补全。
Fitten Code 的 Vim 版本是一个单文件插件,作用是在 Vim 编辑器里接入 AI 代码补全:写代码时按快捷键弹出补全建议,按接受键把建议写入缓冲区。它适合已经习惯在终端里用 Vim 写代码、又不想为了 AI 补全切换到其他编辑器的开发者。插件本身只负责登录、登出、触发补全、接受补全和自动补全开关这几件事,集成方式简单,把文件放进插件目录即可。如果你更习惯用现成的在线工具做代码辅助,也可以先看看本站的 Fitten Code 工具页,再决定是否在本地 Vim 里装插件。
需要说明的是,这篇教程讲的是插件层面的安装与配置,不涉及模型能力评测,也不涉及账号套餐。价格、可用模型、配额等易变信息请以官网当前信息为准。
准备工作
动手之前,先确认下面几项条件都满足,否则后面的步骤会卡住。
- Vim 版本不低于 9.0。这是插件的硬性依赖,低于这个版本不要继续。
- 一个已注册的 Fitten Code 账号。插件通过用户名和密码登录,没有账号无法使用补全功能。注册入口在插件说明里给出,按官网当前提供的入口注册即可。
- 可写的 Vim 插件目录。默认路径是
~/.vim/plugin,如果该目录不存在需要先创建。 - curl 或等效的下载工具。安装方式是用 curl 把单文件插件下载到插件目录。
- (可选)NeoVim 用户。插件对 NeoVim 的支持由社区贡献,使用 NeoVim 的读者需要走对应的分支或配置,本文以 Vim 为主线。
另外要理解一个前提:这个插件是单文件插件。也就是说,它的全部逻辑集中在一个 fittencode.vim 文件里,没有额外的依赖包、没有构建步骤。这既是它方便集成的优点,也意味着升级时通常就是替换这一个文件。
操作步骤
第一步:创建插件目录
Vim 启动时会加载 ~/.vim/plugin 下的脚本。先确保目录存在:
mkdir -p ~/.vim/plugin
如果目录已经存在,这条命令不会产生副作用,可以放心执行。
第二步:下载插件文件
把 fittencode.vim 下载到刚才创建的目录中。素材给出了两种下载来源,一种是 GitHub,一种是 Gitee,两者下载的是同一个插件文件,按自己网络环境能访问的那个来选即可。命令形式如下:
curl -o ~/.vim/plugin/fittencode.vim <插件文件下载地址>
把 <插件文件下载地址> 换成对应来源上该文件的原始下载地址。下载完成后可以用 ls -l ~/.vim/plugin/fittencode.vim 确认文件存在且大小不为零。
除了手动 curl,用各种 Vim 插件管理器安装同样可行。插件管理器本质上也是把文件放到运行时会加载的路径下,所以只要管理器能正确识别这个单文件插件,安装流程和手动下载没有区别。
第三步:登录账号
插件装好之后,重新打开 Vim,在命令行模式输入登录命令:
:Fittenlogin <username> <passwd>
把 <username> 和 <passwd> 换成注册时使用的用户名与密码。登录成功后,插件就具备补全能力了。
这里有一个容易忽略的点:登录命令是带参数的,用户名和密码直接跟在命令后面,用空格分隔。如果密码里含有空格或特殊字符,需要按 Vim 命令行的转义规则处理,否则参数会被截断。
第四步:触发并接受补全
登录完成后,默认的交互方式是:
- 按
<C-L>(Ctrl 加 L)弹出补全提示; - 按
<TAB>接受当前补全内容,写入代码。
素材给出的示意是:当你在写一个函数时,插件会根据上下文给出补全建议;把光标停在函数名上按触发键,就能看到针对该函数的提示。例如下面这段代码:
def calculate_area(radius):
return 3.14 * radius ** 2
当光标位于 calculate_area( 之后的位置并按下触发键时,插件会给出补全提示。接受之后,建议内容会直接插入到光标处。
第五步:自定义快捷键
默认的 <C-L> 和 <TAB> 未必符合每个人的习惯,尤其是 <TAB> 在 Vim 里本身还承担缩进职责。插件提供了两个全局变量来改键:
g:fitten_trigger:控制触发补全的按键;g:fitten_accept_key:控制接受补全的按键。
在 ~/.vimrc 里给这两个变量赋值即可,例如:
let g:fitten_trigger = '<C-J>'
let g:fitten_accept_key = '<C-K>'
上面只是演示写法,具体绑哪个键由你决定。改完之后需要重新加载配置或重启 Vim 才会生效。选择接受键时要避开自己常用的编辑操作,否则容易误触。
第六步:开关自动补全
除了手动按键触发,插件还支持自动补全模式,用两条命令切换:
:FittenAutoCompletionOn
:FittenAutoCompletionOff
开启后,插件会在编辑过程中自动给出补全;关闭后则回到手动触发的方式。写代码时需要连续输入、不想被提示打断的场景,可以临时关掉;需要密集补全时再打开。
第七步:登出
需要切换账号或在共享机器上使用时,执行:
:Fittenlogout
登出后补全功能停止,重新使用需要再次执行 :Fittenlogin。
第八步:查阅进阶用法
插件内置了进阶帮助文档,重点是自定义触发函数这类用法。在 Vim 中执行:
:help fitten-advanced
如果你的需求超出了「按键触发、按键接受」这套默认交互,比如希望由自己的函数决定何时请求补全,就应该先读这份帮助,而不是在配置里反复试错。
一个完整示例
下面把前面的步骤串成一条从零到可用的路径,假设你在一台新机器上,Vim 版本已满足 9.0 以上,并且已经注册好账号。
1. 建目录并下载插件
mkdir -p ~/.vim/plugin
curl -o ~/.vim/plugin/fittencode.vim <插件文件下载地址>
2. 在 vimrc 中改键(可选)
打开 ~/.vimrc,加入:
let g:fitten_trigger = '<C-J>'
let g:fitten_accept_key = '<C-K>'
如果不改,就沿用默认的 <C-L> 触发、<TAB> 接受。
3. 启动 Vim 并登录
vim
:Fittenlogin <username> <passwd>
4. 打开一个代码文件,验证补全
新建或打开一个 Python 文件,输入:
def calculate_area(radius):
return 3.14 * radius ** 2
把光标放到函数名后的括号内,按下触发键(默认 <C-L>,或你自定义的键),看到补全提示后按接受键(默认 <TAB>,或你自定义的键)写入。
5. 按需切换自动补全
:FittenAutoCompletionOn
:FittenAutoCompletionOff
6. 用完登出
:Fittenlogout
走完这六步,插件就处于「已安装、已登录、可触发、可接受、可开关」的完整可用状态。任何一步失败,先回到对应步骤检查:目录路径是否正确、文件是否真的下载成功、登录命令的参数是否被空格截断、改键后是否重新加载了配置。
注意事项
- 版本门槛是硬性的。Vim 低于 9.0 无法使用该插件,升级 Vim 是唯一出路,不要试图通过改配置绕过。
- NeoVim 支持来自社区贡献。素材明确说明 NeoVim 的支持由贡献者提供,因此 NeoVim 上的行为可能与 Vim 不完全一致,遇到问题时应按 NeoVim 对应的说明排查。
- 登录凭据写在命令行里。
:Fittenlogin需要把用户名和密码作为参数输入,这意味着它们会出现在命令历史中。在共享环境里使用后,建议清理命令历史,并在离开前执行:Fittenlogout。 - 改键后要重新加载。
g:fitten_trigger与g:fitten_accept_key是启动时读取的全局变量,改完 vimrc 不重启或重载不会生效。 - 接受键与缩进键冲突。默认接受键是
<TAB>,而 Tab 在 Vim 中常用于缩进。如果发现补全接受与缩进操作互相干扰,优先考虑换一个接受键。 - 单文件插件的升级方式。由于整个插件就是一个
fittencode.vim文件,升级时通常只需用新版本覆盖旧文件,不需要额外的卸载流程。 - 易变信息以官网为准。账号注册方式、可用功能范围、配额与价格等都可能调整,本文不给出具体数值,使用前请核对官网当前信息。
把上面这些做完,Vim 里就有了一个可手动触发、可自动补全、可随时开关的 AI 补全通道。后续如果想让补全时机更贴合自己的工作流,再去读 :help fitten-advanced 里的自定义触发函数部分,是比反复调按键更有效的方向。