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.
Collecting history — the radar snapshots this repo daily. The trend line appears after 3 days of data (1 so far).
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.






