--[[ Path: lua/plugins/kickstart/keymaps.lua Module: plugins.kickstart.keymaps Purpose Non-plugin (or minimally coupled) normal-mode maps: search, diagnostics quickfix, terminal escape, window navigation, GitHub “open in browser,” Neo-tree toggles, and visual paste without clobbering a register. Rationale Keeping these maps here avoids scattering `vim.keymap.set` across plugin config files and ensures they exist even before lazy.nvim finishes loading. See `:help vim.keymap.set()`, `:help diagnostic-loclist`. ]] vim.keymap.set('n', '', 'nohlsearch') vim.keymap.set('n', 'q', vim.diagnostic.setloclist, { desc = 'Open diagnostic [Q]uickfix list' }) vim.keymap.set('t', '', '', { desc = 'Exit terminal mode' }) vim.keymap.set('n', '', '', { desc = 'Move focus to the left window' }) vim.keymap.set('n', '', '', { desc = 'Move focus to the right window' }) vim.keymap.set('n', '', '', { desc = 'Move focus to the lower window' }) vim.keymap.set('n', '', '', { desc = 'Move focus to the upper window' }) vim.keymap.set('n', 'th', ':split | terminal', { desc = 'Terminal horizontal split' }) vim.keymap.set('n', 'tv', ':vsplit | terminal', { desc = 'Terminal vertical split' }) vim.keymap.set('n', 'tt', ':tabnew | terminal', { desc = 'Terminal in new tab' }) vim.keymap.set('n', 'tf', ':ToggleTerm', { desc = 'Toggle floating terminal' }) vim.keymap.set('x', 'p', '"_dP', { noremap = true, silent = true }) local git_links = require 'custom.git_links' vim.keymap.set({ 'n', 'v' }, 'go', git_links.open_github, { desc = 'Open in GitHub' }) vim.keymap.set('n', 'x', 'Neotree toggle', { desc = 'NeoTree Toggle' }) vim.keymap.set('n', 'z', 'Neotree reveal', { desc = 'NeoTree Reveal' })