Vibeleaderboard
Index / tool
Visit github.com
Category
Developer Tools
Rank
Pricing
Open Source
Type
TOOL
Builder
ggml-org
Latest release
v0.1.0
Date

About

Vim plugin for LLM-assisted code and text completion — powered by llama.cpp under the hood, no cloud dependency.

What it does

llama.vim watches editing activity, gathers nearby and previously handled text, then presents inline continuations. You can accept a whole suggestion, one line, or one word. It also rewrites selected text from instructions and exposes timing and context statistics.

Why it's ranked here

This is a focused editor extension with unusually explicit control over context, generation limits, caching, and key bindings. Its ring of text chunks can carry useful material across buffers. The narrow scope and required server setup make it best for users who value control over convenience.

What's good

Completion fits normal editing habits: suggestions can appear during insert mode, while manual triggering remains available. Multiple cached candidates can be cycled. Context can include nearby lines, open or edited buffers, and yanked text. A debug pane and inline performance figures make latency and context use visible.

Tradeoffs

You must install curl, run a separate llama.cpp server, and supply compatible completion and instruction models. Hardware and model choice directly shape practical latency and context capacity. One documented prompt-time limit is not yet supported. Default key bindings may also conflict with established editor mappings.

How to use it well

It suits Vim or Neovim users willing to operate and tune their own inference server. Start with automatic suggestions, then adjust context size, prediction time, and acceptance bindings around actual latency. It does not replace model acquisition, server administration, or broader IDE tooling.

Technical notes+

plugin/llama.vim contains a single call to llama#init(). autoload/llama.vim holds configuration, endpoint handling, completion caching, ring-context behavior, mappings, and enablement state; the supplied excerpt is truncated. Its defaults target http://127.0.0.1:8012/infill and http://127.0.0.1:8012/v1/chat/completions, maintain an LRU-ordered completion cache, and retain multiple responses per cache key when configured. autoload/llama_debug.vim implements a timestamped in-memory log rendered into a scratch split through deferred timer-based flushes. doc/llama.txt documents commands, requirements, server tuning, mappings, and configuration, while doc/tags supplies help tags.

Observed

License
MIT License
Primary language
Vim script
Editor support
Neovim or Vim 9.1 and newer
Installation surface
vim-plug, Vundle, lazy.nvim, or direct Git clone
Runtime requirements
curl, a running llama.cpp server, and compatible completion and instruction models
Interface
Vim and Neovim plugin using HTTP completion and chat-completion endpoints
Platform guidance
llama.cpp installation is documented for macOS, Windows, and other operating systems

Read from README.md, LICENSE, doc/tags, doc/llama.txt, plugin/llama.vim, autoload/llama.vim, autoload/llama_debug.vim, .pi/gg/SYSTEM.md.

What it can do

  • Complete code snippets

    Partial code in Vim editorCompleted code suggestions

  • Complete text passages

    Partial text in Vim editorText completion suggestions

  • Generate code from comments

    Code comments describing functionalityGenerated code implementation

  • Suggest variable and function names

    Code context and partial identifiersRelevant naming suggestions

  • Auto-complete programming syntax

    Programming language context and partial syntaxSyntactically correct code completions

Tags

vimllmcompletionllamaplugin

Tech Stack

Vim Script

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.