综合介绍
VimLM是一个Vim插件,提供了一个由本地LLM(大语言模型)驱动的代码助手。通过Vim命令与本地LLM模型交互,自动获取代码上下文,帮助用户在Vim中进行代码编辑。VimLM的设计灵感来自GitHub Copilot和Cursor,集成了上下文代码理解、代码总结和AI辅助功能,直接嵌入到Vim的工作流程中。它支持多种MLX兼容模型,具有直观的键绑定和分屏响应,确保用户在离线环境中安全使用,无需API调用或数据泄露。

功能列表
- 模型无关:通过配置文件使用任何MLX兼容模型
- Vim原生用户体验:直观的键绑定和分屏响应
- 深度上下文理解:从当前文件、可视选择、引用文件和项目目录结构中获取代码上下文
- 对话式编码:通过后续查询进行迭代优化
- 离线安全:完全离线使用,无需API调用或数据泄露
- 代码提取与替换:从响应中插入代码块到选择区域
- 外部上下文添加:通过!include命令添加外部文件或文件夹到上下文
- 项目文件生成:通过!deploy命令生成项目文件
- 响应继续生成:通过!continue命令继续生成被中断的响应
- 线程延续:通过!followup命令继续当前线程
使用帮助
安装流程
- 确保系统中安装了Python 3.12.8。
- 使用pip安装VimLM:
   pip install vimlm
基本使用
- 从普通模式:- 按Ctrl-l:将当前行和文件添加到上下文。
- 示例提示:“从item.content中移除HTML标签的正则表达式”。
 
- 按
- 从可视模式:- 选择代码块后按Ctrl-l:将选定块和当前文件添加到上下文。
- 示例提示:“将此代码转换为async/await语法”。
 
- 选择代码块后按
- 后续对话:- 按Ctrl-j:继续当前线程。
- 示例后续:“改用Manifest V3”。
 
- 按
- 代码提取与替换:- 按Ctrl-p:将响应中的代码块插入到最后选择的区域(普通模式)或活动选择区域(可视模式)。
- 示例工作流程:在可视模式中选择一段代码,按Ctrl-l提示“将此代码转换为async/await语法”,然后按Ctrl-p替换选择的代码。
 
- 按
- 内联命令:- !include:添加外部上下文。- 示例:“将此应用程序AJAX化 !include ~/scrap/hypermedia-applications.summ.md”。
 
- !deploy:生成项目文件。- 示例:“创建REST API端点 !deploy ./api”。
 
- !continue:继续生成响应。- 示例:“总结 !include large-file.txt !continue 5000”。
 
- !followup:继续当前线程。- 示例:“创建Chrome扩展”。
 
 
详细操作流程
- 添加上下文:- 在普通模式下,按Ctrl-l将当前行和文件添加到上下文。
- 在可视模式下,选择代码块后按Ctrl-l将选定块和当前文件添加到上下文。
 
- 在普通模式下,按
- 生成代码:- 在普通模式或可视模式下,按Ctrl-l提示生成代码。
- 按Ctrl-p将生成的代码插入到选择区域。
 
- 在普通模式或可视模式下,按
- 后续对话:- 按Ctrl-j继续当前线程,进行迭代优化。
 
- 按
- 添加外部上下文:- 使用!include命令添加外部文件或文件夹到上下文。
- 示例:“将此应用程序AJAX化 !include ~/scrap/hypermedia-applications.summ.md”。
 
- 使用
- 生成项目文件:- 使用!deploy命令生成项目文件。
- 示例:“创建REST API端点 !deploy ./api”。
 
- 使用
- 继续生成响应:- 使用!continue命令继续生成被中断的响应。
- 示例:“总结 !include large-file.txt !continue 5000”。
 
- 使用
- 线程延续:- 使用!followup命令继续当前线程。
- 示例:“创建Chrome扩展”。
 
- 使用
© 版权声明
文章版权归 AI分享圈  所有,未经允许请勿转载。
相关文章
暂无评论...





 简体中文
简体中文  English
English  日本語
日本語  한국어
한국어  Русский
Русский  Español
Español