Add llama.vim, LlamaStart/Stop commands, and fix completion preset

- Add llama.vim plugin with optimized FIM context settings
- Add LlamaStart/LlamaStop commands for managing llama-server
- Auto-stop llama-server on Neovim exit
- Switch blink.cmp back to default preset (Ctrl+y) for Tab compatibility

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
probalazs 2026-04-18 19:09:26 +02:00
parent 5fd790130b
commit bc020fba1a
2 changed files with 42 additions and 1 deletions

View File

@ -223,6 +223,36 @@ vim.keymap.set('n', '<C-k>', '<C-w><C-k>', { desc = 'Move focus to the upper win
vim.keymap.set('n', '<leader>sv', '<cmd>vsp<CR>', { desc = '[S]plit [V]ertical' }) vim.keymap.set('n', '<leader>sv', '<cmd>vsp<CR>', { desc = '[S]plit [V]ertical' })
vim.keymap.set('n', '<leader>sh', '<cmd>sp<CR>', { desc = '[S]plit [H]orizontal' }) vim.keymap.set('n', '<leader>sh', '<cmd>sp<CR>', { desc = '[S]plit [H]orizontal' })
local llama_job_id = nil
vim.api.nvim_create_user_command('LlamaStart', function()
if llama_job_id then
vim.notify('llama-server is already running', vim.log.levels.WARN)
return
end
llama_job_id = vim.fn.jobstart('llama-server --fim-qwen-3b-default -c 16384', { detach = true })
vim.notify('llama-server started', vim.log.levels.INFO)
end, { desc = 'Start llama-server' })
vim.api.nvim_create_user_command('LlamaStop', function()
if not llama_job_id then
vim.notify('llama-server is not running', vim.log.levels.WARN)
return
end
vim.fn.jobstop(llama_job_id)
llama_job_id = nil
vim.notify('llama-server stopped', vim.log.levels.INFO)
end, { desc = 'Stop llama-server' })
vim.api.nvim_create_autocmd('VimLeavePre', {
callback = function()
if llama_job_id then
vim.fn.jobstop(llama_job_id)
llama_job_id = nil
end
end,
})
-- NOTE: Some terminals have colliding keymaps or are not able to send distinct keycodes -- NOTE: Some terminals have colliding keymaps or are not able to send distinct keycodes
-- vim.keymap.set("n", "<C-S-h>", "<C-w>H", { desc = "Move window to the left" }) -- vim.keymap.set("n", "<C-S-h>", "<C-w>H", { desc = "Move window to the left" })
@ -779,7 +809,7 @@ require('lazy').setup({
-- <c-k>: Toggle signature help -- <c-k>: Toggle signature help
-- --
-- See :h blink-cmp-config-keymap for defining your own keymap -- See :h blink-cmp-config-keymap for defining your own keymap
preset = 'super-tab', preset = 'default',
-- For more advanced Luasnip keymaps (e.g. selecting choice nodes, expansion) see: -- For more advanced Luasnip keymaps (e.g. selecting choice nodes, expansion) see:
-- https://github.com/L3MON4D3/LuaSnip?tab=readme-ov-file#keymaps -- https://github.com/L3MON4D3/LuaSnip?tab=readme-ov-file#keymaps

View File

@ -13,6 +13,17 @@ return {
}, },
}, },
{ 'editorconfig/editorconfig-vim' }, { 'editorconfig/editorconfig-vim' },
{
'ggml-org/llama.vim',
init = function()
vim.g.llama_config = {
n_predict = 256, -- longer suggestions
ring_n_chunks = 64, -- more project context chunks
ring_chunk_size = 64, -- smaller chunks for speed
ring_scope = 2048, -- wider scope around cursor
}
end,
},
{ {
'folke/flash.nvim', 'folke/flash.nvim',
event = 'VeryLazy', event = 'VeryLazy',