dotfiles/nvim/dot-config/nvim/lua/my/keymaps.lua
Nikos Papadakis 1b9e34b141
use just
2023-02-18 14:35:56 +02:00

60 lines
1.5 KiB
Lua

local resize = require("my.resize").resize
local utils = require "my.utils"
local nmap, imap, vmap = utils.nmap, utils.imap, utils.vmap
-- Window splits
nmap("<C-J>", function()
utils.winmove "j"
end)
nmap("<C-K>", function()
utils.winmove "k"
end)
nmap("<C-L>", function()
utils.winmove "l"
end)
nmap("<C-H>", function()
utils.winmove "h"
end)
nmap("<C-Q>", vim.cmd.quit)
-- Resize splits
nmap("<A-Up>", function()
resize(false, -2)
end)
nmap("<A-Down>", function()
resize(false, 2)
end)
nmap("<A-Left>", function()
resize(true, -2)
end)
nmap("<A-Right>", function()
resize(true, 2)
end)
-- Easy move lines
nmap("<A-j>", ":m+<CR>==")
nmap("<A-k>", ":m-2<CR>==")
vmap("<A-j>", ":m '>+1<CR>gv=gv")
vmap("<A-k>", ":m '<-2<CR>gv=gv")
nmap("<Esc>", vim.cmd.nohl)
nmap("<Tab>", "<C-^>")
-- nmap("<Leader>n", "<Cmd>windo set nu! relativenumber!<CR>")
-- nmap("<Leader>t", "<Cmd>windo set expandtab!<CR>")
-- nmap("<Leader>.", "<Cmd>w<CR>")
-- nmap("S", require("my.nodesplit").split)
nmap("[d", vim.diagnostic.goto_prev, "previous diagnostic")
nmap("]d", vim.diagnostic.goto_next, "next diagnostic")
nmap("<Leader>q", vim.diagnostic.setqflist, "set diagnostic to quickfix list")
-- nmap("<F2>", utils.reload, "reload configuration")
nmap("[t", vim.cmd.tabp, "previous tab")
nmap("]t", vim.cmd.tabn, "next tab")
imap("<Tab>", require("my.tab").forwards)
imap("<S-Tab>", require("my.tab").backwards)
imap("<C-E>", "<CR><ESC>O")
imap("jk", "<Esc>")
vmap("<Leader>p", '"_dP')
vmap(">", ">gv")
vmap("<", "<gv")