Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 17 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,21 +12,20 @@ Local LLM-assisted text completion.

https://github.com/user-attachments/assets/641a6e72-f1a2-4fe5-b0fd-c2597c6f4cdc

https://github.com/user-attachments/assets/68bff15b-2d91-4800-985d-b7f110a0ccb7

---

## Features

- Auto-suggest on cursor movement in `Insert` mode
- Toggle the suggestion manually by pressing `Ctrl+F`
- Accept a suggestion with `Tab`
- Accept the first line of a suggestion with `Shift+Tab`
- Instruction-based editing (instruct mode) with `Ctrl+I`
- Instruction-based editing with `<leader>lli`
- Control max text generation time
- Configure scope of context around the cursor
- Ring context with chunks from open and edited files and yanked text
- [Supports very large contexts even on low-end hardware via smart context reuse](https://github.com/ggml-org/llama.cpp/pull/9787)
- Speculative FIM support
- Speculative Decoding support
- Display performance stats

## Installation
Expand Down Expand Up @@ -88,15 +87,24 @@ Examples:
}
```

4. Changing accept line keymap

5. Configure instruction-based editing trigger keymap
4. Configure FIM keymaps:

```vim
let g:llama_config.keymap_inst_trigger = "<C-I>"
let g:llama_config.keymap_fim_trigger = "<leader>llf"
let g:llama_config.keymap_fim_accept_full = "<Tab>"
let g:llama_config.keymap_fim_accept_line = "<S-Tab>"
let g:llama_config.keymap_fim_accept_word = "<leader>ll]"
```

5. Configure instruction-based editing trigger keymap
5. Configure instruction-based editing keymaps

```vim
let g:llama_config.keymap_inst_trigger = "<leader>lli"
let g:llama_config.keymap_inst_retry = "<leader>llr"
let g:llama_config.keymap_inst_continue = "<leader>llc"
let g:llama_config.keymap_inst_accept = "<Tab>"
let g:llama_config.keymap_inst_cancel = "<Esc>"
```

Please refer to `:help llama_config` or the [source](./autoload/llama.vim)
for the full list of options.
Expand Down
Loading