summaryrefslogtreecommitdiff
path: root/nvim/init.lua
diff options
context:
space:
mode:
authorSkladnayazebra <skladnayazebra@gmail.com>2025-11-03 11:46:39 +0100
committerSkladnayazebra <skladnayazebra@gmail.com>2025-11-03 11:46:39 +0100
commit555096c75f062d8617c1194e77da114ce7214adc (patch)
treed14e3ef4bfad6c5eebc5c95d0b41ae7874c5f9b0 /nvim/init.lua
parentc8556f25bf3ea38b8799d9612723e11526604c2c (diff)
parent310444ee9a4dfac0621ddda255a9ffc05a616d13 (diff)
Merge remote-tracking branch 'refs/remotes/origin/master'
Diffstat (limited to 'nvim/init.lua')
-rw-r--r--nvim/init.lua27
1 files changed, 27 insertions, 0 deletions
diff --git a/nvim/init.lua b/nvim/init.lua
index eebfc1e..6384e83 100644
--- a/nvim/init.lua
+++ b/nvim/init.lua
@@ -7,9 +7,36 @@ vim.o.number = true
vim.o.signcolumn = "yes"
vim.cmd([[colorscheme gruvbox]])
+-- easier window navigation
+vim.keymap.set('n', '<C-h>', '<C-w>h', { noremap = true, silent = true })
+vim.keymap.set('n', '<C-j>', '<C-w>j', { noremap = true, silent = true })
+vim.keymap.set('n', '<C-k>', '<C-w>k', { noremap = true, silent = true })
+vim.keymap.set('n', '<C-l>', '<C-w>l', { noremap = true, silent = true })
+-- <C-l> by default clears search highlight, so we remap it
+vim.keymap.set('n', '<leader><C-l>', ':nohl<CR>', { noremap = true, silent = true })
+-- quick window close
+vim.keymap.set('n', '<C-c>', '<C-w>c', { noremap = true, silent = true })
+-- quick file write
+vim.keymap.set('n', '<leader>w', ':w<CR>', { noremap = true, silent = true })
+
+-- LSP binds
vim.keymap.set('n', 'gl', vim.diagnostic.open_float, { noremap = true, silent = true })
vim.keymap.set('n', 'gd', vim.lsp.buf.definition, { noremap = true, silent = true })
vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, { noremap = true, silent = true })
+
+-- la - for LAzy (plugin manager)
+vim.keymap.set('n', '<leader>la', ':Lazy<CR>', { noremap = true, silent = true })
+
+-- Fugitive shortcuts
+-- opens current file diff as vertical split
+vim.keymap.set('n', '<leader>gd', ':Gvdiffsplit<CR>', { noremap = true, silent = true })
+-- opens git fugitive status and make it the only visible window (gs is for Git Status)
+vim.keymap.set('n', '<leader>gs', ':Git<CR><C-w>o', { noremap = true, silent = true })
+-- opens blame mode. Navigate everywhere with <CR>
+vim.keymap.set('n', '<leader>gb', ':Git blame<CR>', { noremap = true, silent = true })
+-- from fugitive version of file, takes you back to HEAD
+vim.keymap.set('n', '<leader>ge', ':Gedit<CR>', { noremap = true, silent = true })
+
vim.diagnostic.config({
virtual_text = true,
})