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

Liste des fonctions
- 模型无关:通过配置文件使用任何MLX兼容模型
- Vim原生用户体验:直观的键绑定和分屏响应
- 深度上下文理解:从当前文件、可视选择、引用文件和项目目录结构中获取代码上下文
- 对话式编码:通过后续查询进行迭代优化
- 离线安全:完全离线使用,无需API调用或数据泄露
- 代码提取与替换:从响应中插入代码块到选择区域
- 外部上下文添加:通过!include命令添加外部文件或文件夹到上下文
- 项目文件生成:通过!deploy命令生成项目文件
- 响应继续生成:通过!continue命令继续生成被中断的响应
- 线程延续:通过!followup命令继续当前线程
Utiliser l'aide
Processus d'installation
- 确保系统中安装了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扩展”。
Procédure d'utilisation détaillée
- 添加上下文: :
- 在普通模式下,按
Ctrl-l
将当前行和文件添加到上下文。 - 在可视模式下,选择代码块后按
Ctrl-l
将选定块和当前文件添加到上下文。
- 在普通模式下,按
- 生成代码: :
- 在普通模式或可视模式下,按
Ctrl-l
提示生成代码。 - 按
Ctrl-p
将生成的代码插入到选择区域。
- 在普通模式或可视模式下,按
- 后续对话: :
- 按
Ctrl-j
继续当前线程,进行迭代优化。
- 按
- 添加外部上下文: :
- utiliser
!include
命令添加外部文件或文件夹到上下文。 - 示例:“将此应用程序AJAX化 !include ~/scrap/hypermedia-applications.summ.md”。
- utiliser
- 生成项目文件: :
- utiliser
!deploy
命令生成项目文件。 - 示例:“创建REST API端点 !deploy ./api”。
- utiliser
- 继续生成响应: :
- utiliser
!continue
命令继续生成被中断的响应。 - 示例:“总结 !include large-file.txt !continue 5000”。
- utiliser
- 线程延续: :
- utiliser
!followup
命令继续当前线程。 - 示例:“创建Chrome扩展”。
- utiliser
© déclaration de droits d'auteur
L'article est protégé par le droit d'auteur et ne doit pas être reproduit sans autorisation.
Related posts
Pas de commentaires...