From 50c5b72683a4611f0f44345b004c21e0d1e23cca Mon Sep 17 00:00:00 2001 From: The_miro Date: Tue, 26 May 2026 13:35:31 +0200 Subject: [PATCH] fix(nvim): auto-insert in terminal buffers, add terminal window nav - BufEnter term://* auto-calls startinsert so alot/abook receive keys immediately without needing to press i/a first (skips floaterm) - in terminal-insert mode exits to normal then moves window, matching the existing normal-mode nav mappings Co-Authored-By: Claude Sonnet 4.6 --- nvim/init.lua | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/nvim/init.lua b/nvim/init.lua index 26f32c6..0dd8f9d 100644 --- a/nvim/init.lua +++ b/nvim/init.lua @@ -87,12 +87,28 @@ vim.opt.wildmenu = true vim.opt.wildmode = "list:longest" -- ── Keymaps ─────────────────────────────────────────────────────────────────── --- window navigation +-- window navigation (normal mode) vim.keymap.set("n", "", "w") vim.keymap.set("n", "", "h") vim.keymap.set("n", "", "j") vim.keymap.set("n", "", "k") +-- window navigation from terminal-insert mode (exit insert, then move) +vim.keymap.set("t", "", "h", { silent = true }) +vim.keymap.set("t", "", "j", { silent = true }) +vim.keymap.set("t", "", "k", { silent = true }) +vim.keymap.set("t", "", "w", { silent = true }) + +-- auto-enter insert mode when focusing a terminal buffer (skip floaterm) +vim.api.nvim_create_autocmd("BufEnter", { + pattern = "term://*", + callback = function() + if vim.bo.filetype ~= "floaterm" then + vim.cmd("startinsert") + end + end, +}) + -- calendar.vim steals for month nav; restore window movement vim.api.nvim_create_autocmd("FileType", { pattern = "calendar",