require("config.lazy") vim.o.background = "dark" vim.o.tabstop = 4 vim.o.shiftwidth = 4 vim.o.ignorecase = true vim.o.number = true vim.o.signcolumn = "yes" vim.cmd([[colorscheme gruvbox]]) -- easier window navigation vim.keymap.set('n', '', 'h', { noremap = true, silent = true }) vim.keymap.set('n', '', 'j', { noremap = true, silent = true }) vim.keymap.set('n', '', 'k', { noremap = true, silent = true }) vim.keymap.set('n', '', 'l', { noremap = true, silent = true }) -- by default clears search highlight, so we remap it vim.keymap.set('n', '', ':nohl', { noremap = true, silent = true, desc = 'Clear searh highlight' }) vim.keymap.set('n', 'c', 'c', { noremap = true, silent = true, desc = 'Close window' }) vim.keymap.set('n', 'o', 'o', { noremap = true, silent = true, desc = 'Close other windows' }) vim.keymap.set('n', 'w', ':w', { noremap = true, silent = true, desc = 'Write buffer' }) -- 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 }) -- z means laZy (plugin manager) vim.keymap.set('n', 'z', ':Lazy', { noremap = true, silent = true, desc = 'Open Lazy.nvim' }) -- Fugitive shortcuts vim.keymap.set('n', 'gd', ':Gvdiffsplit', { noremap = true, silent = true, desc = 'Open diff with HEAD' }) vim.keymap.set('n', 'g3', ':Gvdiffsplit!', { noremap = true, silent = true, desc = 'Open diff with previous revision / 3-way conflict diff' }) vim.keymap.set('n', 'gs', ':Gito', { noremap = true, silent = true, desc = 'Git status' }) vim.keymap.set('n', 'gb', ':Git blame', { noremap = true, silent = true, desc = 'Git blame' }) vim.keymap.set('n', 'ge', ':Gedit', { noremap = true, silent = true, desc = 'Git: return to HEAD file version' }) -- I forgot what it's for :( vim.diagnostic.config({ virtual_text = true, })