70 lines
2.2 KiB
Lua
70 lines
2.2 KiB
Lua
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")
|
|
|
|
|
|
-- Panes
|
|
vim.cmd.set("splitright")
|
|
vim.keymap.set("n", "<leader>/", function()
|
|
vim.cmd.vnew()
|
|
end)
|
|
|
|
vim.cmd.set("splitbelow")
|
|
vim.keymap.set("n", "<leader>-", function()
|
|
vim.cmd.new()
|
|
end)
|
|
|
|
vim.api.nvim_set_keymap('n', '<c-k>', ':wincmd k<CR>', { noremap = true, silent = true });
|
|
vim.api.nvim_set_keymap('n', '<c-h>', ':wincmd h<CR>', { noremap = true, silent = true });
|
|
vim.api.nvim_set_keymap('n', '<c-j>', ':wincmd j<CR>', { noremap = true, silent = true });
|
|
vim.api.nvim_set_keymap('n', '<c-l>', ':wincmd l<CR>', { noremap = true, silent = true });
|
|
|
|
vim.api.nvim_set_keymap('n', 'gb', ':bnext<CR>', { noremap = true, silent = true });
|
|
|
|
vim.api.nvim_set_keymap('t', '<c-[><c-[>', '<C-\\><C-n>', { 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', '<C-p>', builtin.find_files, {})
|
|
vim.keymap.set('n', '<leader>fg', builtin.live_grep, {})
|
|
vim.keymap.set('n', 'gl', builtin.lsp_references, { desc = "Telescope show references" })
|
|
vim.keymap.set('n', '<leader>d', builtin.diagnostics, { desc = "Telescope open diagnostics" })
|
|
vim.keymap.set('n', '<leader>ff', builtin.find_files, { desc = "Telescope find files" })
|
|
|
|
-- Formating
|
|
vim.keymap.set("n", "<leader>gf", function()
|
|
require("conform").format({ lsp_format = "fallback" })
|
|
end, {})
|
|
|
|
-- Filesystem
|
|
vim.keymap.set("n", "<leader>e", ":Oil<CR>", {})
|
|
|
|
-- Neotest
|
|
vim.keymap.set("n", "<leader>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" }, "<leader>ca", vim.lsp.buf.code_action, {})
|
|
vim.keymap.set("n", "<leader>cr", vim.lsp.buf.rename, {})
|