local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" if not (vim.uv or vim.loop).fs_stat(lazypath) then vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", -- latest stable release lazypath, }) end vim.opt.rtp:prepend(lazypath) require("vim-options") require("lazy").setup("plugins") vim.o.number = true vim.o.relativenumber = true -- Panes vim.cmd.set("splitright") vim.keymap.set("n", "/", function() vim.cmd.vnew() end) vim.cmd.set("splitbelow") vim.keymap.set("n", "-", function() vim.cmd.new() end) vim.api.nvim_set_keymap('n', '', ':wincmd k', { noremap = true, silent = true }); vim.api.nvim_set_keymap('n', '', ':wincmd h', { noremap = true, silent = true }); vim.api.nvim_set_keymap('n', '', ':wincmd j', { noremap = true, silent = true }); vim.api.nvim_set_keymap('n', '', ':wincmd l', { noremap = true, silent = true }); vim.api.nvim_set_keymap('n', 'gb', ':bnext', { noremap = true, silent = true }); vim.api.nvim_set_keymap('t', '', '', { noremap = true, silent = true }); vim.api.nvim_create_autocmd('TermOpen', { group = vim.api.nvim_create_augroup('custom-term-open', { clear = true }), callback = function() vim.opt.number = false vim.opt.relativenumber = false end, }); -- Telescope local builtin = require("telescope.builtin") vim.keymap.set('n', '', builtin.find_files, {}) vim.keymap.set('n', 'fg', builtin.live_grep, {}) vim.keymap.set('n', 'gl', builtin.lsp_references, { desc = "Telescope show references" }) vim.keymap.set('n', 'd', builtin.diagnostics, { desc = "Telescope open diagnostics" }) vim.keymap.set('n', 'ff', builtin.find_files, { desc = "Telescope find files" }) -- Formating vim.keymap.set("n", "gf", function() require("conform").format({ lsp_format = "fallback" }) end, {}) -- Filesystem vim.keymap.set("n", "e", ":Oil", {}) -- Neotest vim.keymap.set("n", "no", require("neotest").output.open, {}) -- Lsp Config vim.keymap.set("n", "K", vim.lsp.buf.hover, {}) vim.keymap.set("n", "gd", vim.lsp.buf.definition, {}) vim.keymap.set({ "n", "v" }, "ca", vim.lsp.buf.code_action, {}) vim.keymap.set("n", "cr", vim.lsp.buf.rename, {}) -- Motions vim.keymap.set("n", "", "zz", {}) vim.keymap.set("n", "", "zz", {})