VimLM的对话式编程功能通过以下工作流实现:
- 初始请求:在普通模式(Ctrl-l整行)或可视模式(选中代码后Ctrl-l)触发初始代码生成
- 迭代优化:使用Ctrl-j键继续当前对话线程,可进行多次自然语言交互
- 变更应用:通过Ctrl-p将AI生成的代码插入到目标位置
典型应用场景示例:
- 语法转换:选中旧代码后请求”转换为Python 3.10语法”
- 性能优化:对某函数提出”改用向量化计算优化”的需求
- 错误修复:用自然语言描述异常现象获取修复建议
高级技巧:
- 使用
!followup
命令可在新会话中延续之前的对话上下文 - 通过
!continue 5000
参数控制生成长度(5000token) - 结合
!include
引入API文档等外部知识
这种交互模式让代码演进过程更符合人类思维习惯,大幅提升重构效率。
本答案来源于文章《VimLM:本地LLM驱动的Vim编程助手,安全离线的智能编程》