Files
dotfiles/.config/nvim/lua/core/keymaps.lua
Baerspektivo 8230492c3a feat: Sync complete config - Fish, Ghostty, Neovim Scratch
- Add missing Fish configs (direnv, ssh function)
- Add Tokyo Night theme for Ghostty
- Complete Neovim scratch config sync
- Rewrite install.sh for new structure
- Add comprehensive README.md
2025-10-13 10:00:52 +02:00

51 lines
2.3 KiB
Lua

-- ============================================================================
-- Keymaps - Tastenkombinationen
-- ============================================================================
local keymap = vim.keymap.set
-- ESC clear search highlighting
keymap('n', '<Esc>', '<cmd>nohlsearch<CR>', { desc = 'Clear search highlighting' })
-- Better window navigation
keymap('n', '<C-h>', '<C-w>h', { desc = 'Navigate to left window' })
keymap('n', '<C-j>', '<C-w>j', { desc = 'Navigate to bottom window' })
keymap('n', '<C-k>', '<C-w>k', { desc = 'Navigate to top window' })
keymap('n', '<C-l>', '<C-w>l', { desc = 'Navigate to right window' })
-- Resize windows
keymap('n', '<C-Up>', ':resize +2<CR>', { desc = 'Increase window height' })
keymap('n', '<C-Down>', ':resize -2<CR>', { desc = 'Decrease window height' })
keymap('n', '<C-Left>', ':vertical resize -2<CR>', { desc = 'Decrease window width' })
keymap('n', '<C-Right>', ':vertical resize +2<CR>', { desc = 'Increase window width' })
-- Buffer navigation
keymap('n', '<S-h>', '<cmd>bprevious<CR>', { desc = 'Previous buffer' })
keymap('n', '<S-l>', '<cmd>bnext<CR>', { desc = 'Next buffer' })
keymap('n', '<leader>bd', '<cmd>bdelete<CR>', { desc = 'Delete buffer' })
-- Better indenting (bleibt in visual mode)
keymap('v', '<', '<gv', { desc = 'Indent left' })
keymap('v', '>', '>gv', { desc = 'Indent right' })
-- Move lines up/down
keymap('n', '<A-j>', ':m .+1<CR>==', { desc = 'Move line down' })
keymap('n', '<A-k>', ':m .-2<CR>==', { desc = 'Move line up' })
keymap('v', '<A-j>', ":m '>+1<CR>gv=gv", { desc = 'Move selection down' })
keymap('v', '<A-k>', ":m '<-2<CR>gv=gv", { desc = 'Move selection up' })
-- Go error handling (dein Shortcut!)
keymap('n', '<leader>ee', 'oif err != nil {<CR>}<Esc>Oreturn err<Esc>', { desc = 'Go error handling' })
-- Quick save
keymap('n', '<leader>w', '<cmd>w<CR>', { desc = 'Save file' })
-- Diagnostic keymaps (LSP errors)
keymap('n', '[d', vim.diagnostic.goto_prev, { desc = 'Previous diagnostic' })
keymap('n', ']d', vim.diagnostic.goto_next, { desc = 'Next diagnostic' })
keymap('n', '<leader>cd', vim.diagnostic.open_float, { desc = 'Show diagnostic' })
keymap('n', '<leader>q', vim.diagnostic.setloclist, { desc = 'Diagnostic list' })
-- Terminal
keymap('t', '<Esc><Esc>', '<C-\\><C-n>', { desc = 'Exit terminal mode' })