65 lines
2.2 KiB
Lua
65 lines
2.2 KiB
Lua
vim.api.nvim_create_user_command("W", "update", { nargs = "?" })
|
|
|
|
local bind = vim.keymap.set
|
|
|
|
vim.g.mapleader = ","
|
|
|
|
bind("n", "<leader>v", "<cmd>vsp<cr><C-w>l", { desc = "Vertical split" })
|
|
bind("n", "<leader>e", "<cmd>e .<cr><cmd>set relativenumber<cr>", { desc = "Netrw file manager" })
|
|
|
|
-- Buffer navigation
|
|
bind("n", "<M-l>", "<cmd>bp<cr>", { desc = "Buffer previous" })
|
|
bind("n", "<M-h>", "<cmd>bn<cr>", { desc = "Buffer next" })
|
|
bind("n", "<M-Down>", "<cmd>CloseOpenBuff<cr>", { desc = "Buffer close" })
|
|
|
|
-- Buffer resize
|
|
bind("n", "<leader>+", "<cmd>vertical resize +5<cr>", { desc = "Buffer increase size" })
|
|
bind("n", "<leader>-", "<cmd>vertical resize -5<cr>", { desc = "Buffer decrease size" })
|
|
|
|
-- Tab movements
|
|
bind("n", "<C-M-n>", "<cmd>tabnew<cr>", { desc = "New tab" })
|
|
bind("n", "<C-M-Down>", "<cmd>tabclose<cr>", { desc = "Close tab" })
|
|
bind("n", "<C-M-l>", "<cmd>tabnext<cr>", { desc = "Next tab" })
|
|
bind("n", "<C-M-h>", "<cmd>tabprevious<cr>", { desc = "Previous tab" })
|
|
|
|
-- Movements into buffer
|
|
bind("n", "<C-d>", "<C-d>zz", { desc = "Center cursor after page down" })
|
|
bind("n", "<C-u>", "<C-u>zz", { desc = "Center cursor after page up" })
|
|
|
|
-- Move lines in visual mode
|
|
bind("v", "K", ":m '<-2<cr>gv=gv", { desc = "Move highlighted lines up" })
|
|
bind("v", "J", ":m '>+1<cr>gv=gv", { desc = "Move highlighted lines down" })
|
|
|
|
-- Text cleaning
|
|
bind("n", "<leader>w", "<cmd>%s/\\s\\+$/<cr><cmd>nohlsearch<cr>", { desc = "Delete white spaces at end of each line" })
|
|
|
|
-- Quick fix list
|
|
bind("n", "<leader>cc", "<cmd>cclose<cr>")
|
|
bind("n", "<leader>co", "<cmd>copen<cr>")
|
|
|
|
-- Oil vim
|
|
vim.keymap.set("n", "<M-1>", function()
|
|
local dir = vim.fn.expand("%:p:h")
|
|
if dir == "" then
|
|
dir = vim.loop.cwd()
|
|
end
|
|
require("oil").open(dir)
|
|
end, { desc = "Open Oil in current file directory" })
|
|
|
|
-- Conform
|
|
vim.api.nvim_create_user_command("FormatConform", function(opts)
|
|
require("conform").format()
|
|
end, {
|
|
desc = "Format current buffer",
|
|
})
|
|
|
|
bind("n", "<leader><C-M-l>", "<cmd>FormatConform<cr>")
|
|
|
|
-- Lsp
|
|
bind("n", "<leader>h", vim.diagnostic.open_float)
|
|
bind("n", "<leader>gl", vim.diagnostic.setloclist)
|
|
bind("n", "<leader>gq", vim.diagnostic.setqflist)
|
|
bind("n", "<leader>gf", vim.lsp.buf.format)
|
|
bind("n", "K", vim.lsp.buf.hover)
|
|
bind("n", "<leader>k", vim.lsp.buf.signature_help)
|