RadarTopicsBuildersWeeklyReads
Open Source Radar
ggml-org/

llama.vim

GitHub

Vim plugin that provides local LLM-assisted text completion with fill-in-middle, instruction-based editing, and configurable context/ring buffer. Requires a llama.cpp server and offers multiple integration options and keymaps.

2.1kstars
116forks
26issues
MITlicense
2024since
Star historydaily snapshots by VibeCrowd

Collecting history — the radar snapshots this repo daily. The trend line appears after 3 days of data (1 so far).

Alternatives & relatedmatched by topic overlap
Reviewgenerated from repository data · Aug 5, 2026

What it is

Local LLM-assisted text completion for Vim, featuring Fill-in-Middle (FIM) completions and instruction-based editing. It displays performance stats and supports ring-context across files and yanked text.

How it works

The plugin connects to a llama.cpp server instance (at endpoint_fim and/or endpoint_inst) to generate completions. It offers auto-suggest on cursor movement in Insert mode, and accepts suggestions via Tab or Shift+Tab. Instruction-based editing is triggered by a mapping. It maintains a ring buffer of context chunks from open/edited/yanked text to support large contexts.

Getting started

Install via standard plugin managers:

  • vim-plug: Plug 'ggml-org/llama.vim'
  • Vundle: git clone https://github.com/ggml-org/llama.vim
  • lazy.nvim: { 'ggml-org/llama.vim' }

Configure llama.vim with g:llama_config, for example to disable inline info or FIM auto-completion, and set FIM or instruction-based editing keymaps. The plugin requires a running llama.cpp server at the configured endpoints. See the llama.cpp setup instructions and the recommended llama-server flags based on VRAM.

Commands and options shown in the README:

  • Examples to disable info and set keymaps for FIM and instruction editing, e.g.:

    let g:llama_config = { 'show_info': 0 }
    
    let g:llama_config.keymap_inst_trigger  = "<leader>lli"
    
  • llama.cpp setup steps are provided for Mac OS, Windows, and other OSes, plus recommended settings depending on GPU VRAM (e.g., --fim-qwen-30b-default).

llama.cpp setup

The plugin expects a llama.cpp server running and exposes endpoints via g:llama_config.endpoint_fim and/or endpoint_inst.

llama.cpp settings

The README lists recommended commands to start the server with different model configurations depending on VRAM:

  • More than 64GB VRAM:
    llama-server --fim-qwen-30b-default
    
  • More than 16GB VRAM:
    llama-server --fim-qwen-7b-default
    
  • Less than 16GB VRAM:
    llama-server --fim-qwen-3b-default
    
  • Less than 8GB VRAM:
    llama-server --fim-qwen-1.5b-default
    

Recommended LLMs

Requires FIM-compatible models from HF collection. See link in README.

Recent releases

  • latest 0: none

Traction

Stars: 2121, Forks: 116, Open issues: 26

Behind the repo

Repository licensed under MIT and maintained in Vim Script; created 2024-10-28; last push 2026-08-03. Topics include copilot, developer-tool, llama, llm, vim, vim-plugin.

Caveats

License: MIT Requires a llama.cpp server instance to run; configuration keys and endpoints are user-provided via g:llama_config. No explicit per-release notes are provided in this document.

SharePost on XLinkedIn
All trending reposRevenue-verified startups →