summaryrefslogtreecommitdiff
path: root/nvim/lua/config/keymaps.lua
diff options
context:
space:
mode:
authorSkladnayazebra <skladnayazebra@gmail.com>2026-04-09 12:20:42 +0200
committerSkladnayazebra <skladnayazebra@gmail.com>2026-04-09 12:20:42 +0200
commit67a83e2466ea8b7abc74141f887fd39a1e9016cb (patch)
tree56bab208dc7af01ded5de617648212ef16a11b2e /nvim/lua/config/keymaps.lua
parent2f4a533074cba78de91df51431766169e7b10c19 (diff)
reconfigure treesitter for NeoVim 0.12; move stuff around
Diffstat (limited to 'nvim/lua/config/keymaps.lua')
-rw-r--r--nvim/lua/config/keymaps.lua27
1 files changed, 27 insertions, 0 deletions
diff --git a/nvim/lua/config/keymaps.lua b/nvim/lua/config/keymaps.lua
new file mode 100644
index 0000000..de2c737
--- /dev/null
+++ b/nvim/lua/config/keymaps.lua
@@ -0,0 +1,27 @@
+
+vim.keymap.set('n', '<leader>c', '<C-w>c', { noremap = true, silent = true, desc = 'Close window' })
+vim.keymap.set('n', '<leader>o', '<C-w>o', { noremap = true, silent = true, desc = 'Close other windows' })
+
+-- z means laZy (plugin manager)
+vim.keymap.set('n', '<leader>z', ':Lazy<CR>', { noremap = true, silent = true, desc = 'Open Lazy.nvim' })
+
+-- LSP binds
+-- default gd searches only in current buffer as a keyword
+vim.keymap.set('n', 'gd', vim.lsp.buf.definition, { noremap = true, silent = true, desc = 'Open definition' })
+
+-- Fugitive shortcuts
+vim.keymap.set('n', '<leader>gd', ':Gvdiffsplit<CR>', { noremap = true, silent = true, desc = 'Git diff (unstaged changes)' })
+vim.keymap.set('n', '<leader>gD', ':Gvdiffsplit HEAD<CR>', { noremap = true, silent = true, desc = 'Git diff (all changes after HEAD)' })
+vim.keymap.set('n', '<leader>gs', ':Git<CR>', { noremap = true, silent = true, desc = 'Git status' })
+vim.keymap.set('n', '<leader>gb', ':Git blame<CR>', { noremap = true, silent = true, desc = 'Git blame' })
+vim.keymap.set('n', '<leader>gl', ':Git log<CR>', { noremap = true, silent = true, desc = 'Git log' })
+vim.keymap.set('n', '<leader>gL', ':0Gclog<CR>', { noremap = true, silent = true, desc = 'Git log: this file' })
+vim.keymap.set('n', '<leader>ge', ':Gedit<CR>', { noremap = true, silent = true, desc = 'Git: return to worktree' })
+
+vim.keymap.set('n', '<leader>e', ':lua MiniFiles.open(vim.api.nvim_buf_get_name(0), false)<CR>', { noremap = true, silent = true, desc = 'File Explorer' })
+vim.keymap.set('n', '<leader>aa', ':argadd<CR>:argdedupe<CR>', { noremap = true, silent = true, desc = 'Add to args' })
+vim.keymap.set('n', '<leader>ad', ':argdelete %<CR>', { noremap = true, silent = true, desc = 'Delete from args' })
+vim.keymap.set('n', '<leader>lr', ':LspRestart<CR>', { noremap = true, silent = true, desc = 'LSP: restart' })
+vim.keymap.set('n', '<leader>lx', ':LspStop<CR>', { noremap = true, silent = true, desc = 'LSP: stop' })
+vim.keymap.set('n', '<leader>ll', ':LspStart<CR>', { noremap = true, silent = true, desc = 'LSP: start' })
+vim.keymap.set('n', '<leader>li', ':LspInfo<CR>', { noremap = true, silent = true, desc = 'LSP: info' })