local M = {} local resize = require("my.resize").resize local utils = require "my.utils" local nmap, imap, vmap, tmap = utils.nmap, utils.imap, utils.vmap, utils.tmap -- Window splits nmap("", function() utils.winmove "j" end) nmap("", function() utils.winmove "k" end) nmap("", function() utils.winmove "l" end) nmap("", function() utils.winmove "h" end) nmap("", vim.cmd.quit) -- Resize splits nmap("", function() resize(false, -2) end) nmap("", function() resize(false, 2) end) nmap("", function() resize(true, -2) end) nmap("", function() resize(true, 2) end) -- Easy move lines nmap("", ":m+==") nmap("", ":m-2==") vmap("", ":m '>+1gv=gv") vmap("", ":m '<-2gv=gv") nmap("", vim.cmd.nohl) nmap("", "") nmap("", "") -- Re-bind for jump list nmap("q", vim.diagnostic.setqflist, "set diagnostic to quickfix list") nmap("[d", function() vim.diagnostic.jump({ count = -1, float = true }) end, "previous diagnostic") nmap("]d", function() vim.diagnostic.jump({ count = 1, float = true }) end, "next diagnostic") nmap("[t", vim.cmd.tabp, "previous tab") nmap("]t", vim.cmd.tabn, "next tab") -- imap("", require("my.tab").forwards) -- imap("", require("my.tab").backwards) imap("jk", "") vmap("p", '"_dP') vmap(">", ">gv") vmap("<", "", "") M.telescope_keymaps = function(fns) nmap("", fns.project, "Find project files") nmap("fn", fns.dotfiles, "Dotfiles") nmap("", fns.builtin.git_files, "Find git files") nmap("fg", fns.builtin.live_grep, "Live grep") nmap("gs", fns.builtin.git_status, "Git status") end M.gitsigns_keymaps = function(bufnr) local gs = require "gitsigns" nmap("]c", function() if vim.wo.diff then return "]c" end vim.schedule(function() gs.nav_hunk('next') end) return "" end, "next hunk", bufnr) nmap("[c", function() if vim.wo.diff then return "[c" end vim.schedule(function() gs.nav_hunk('prev') end) return "" end, "previous hunk", bufnr) end return M