ggml-org/llama.vim

Vim plugin for LLM-assisted code/text completion

What it solves

llama.vim provides local, LLM-assisted text completion and editing for Vim and Neovim users. It eliminates the need for cloud-based AI assistants by allowing developers to keep their code and data local while receiving real-time suggestions.

How it works

The plugin connects to a running llama.cpp server instance. It uses Fill-in-the-Middle (FIM) compatible models to provide auto-suggestions as the user moves the cursor in Insert mode. It also supports instruction-based editing, where users can trigger a request to modify code based on a specific instruction.

To maintain performance on consumer hardware, it employs a smart context reuse strategy that supports very large contexts even on low-end hardware.

Who it’s for

Developers who use Vim or Neovim and prefer local LLM execution for privacy, latency, or offline access, and who have a llama.cpp server running.

Highlights

  • Auto-suggestions: Real-time completion as you type in Insert mode, accepted via Tab.
  • Instruction-based editing: Modify code using the <leader>lli command.
  • Smart Context: Uses a ring buffer of chunks from open files and yanked text to maintain a large global context across different files.
  • Performance Stats: Displays real-time generation time and token usage stats.
  • Server Profiles: Ability to switch between different llama.cpp server endpoints easily via :LlamaProfile.

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目