keybindings organized
keybinding imports moved after main config
This commit is contained in:
parent 878e339cf6
commit b2caa79224
2 changed files with 29 additions and 23 deletions

View File

@ -1,35 +1,38 @@
-- ───────────────────── disable highlight on search ─────────────────────
vim.keymap.set("n", "<Esc>", "<cmd>nohlsearch<CR>") vim.keymap.set("n", "<Esc>", "<cmd>nohlsearch<CR>")
-- Diagnostic keymaps -- ───────────────────────── Diagnostic keymaps ──────────────────────
vim.keymap.set("n", "<leader>q", vim.diagnostic.setloclist, { desc = "Open diagnostic [Q]uickfix list" }) vim.keymap.set("n", "<leader>q", vim.diagnostic.setloclist, { desc = "Open diagnostic [Q]uickfix list" })
-- splitting -- ────────── easy leave terminal (shortcut to ctrl+\, ctrl+n) ───────
vim.keymap.set("n", "<leader>-", "<cmd>sp<CR>", { desc = "Horizontal split" })
vim.keymap.set("n", "<leader>|", "<cmd>vsp<CR>", { desc = "Vertical split" })
-- Exit terminal mode in the builtin terminal with a shortcut that is a bit easier
-- for people to discover. Otherwise, you normally need to press <C-\><C-n>, which
-- is not what someone will guess without a bit more experience.
--
-- NOTE: This won't work in all terminal emulators/tmux/etc. Try your own mapping
-- or just use <C-\><C-n> to exit terminal mode
vim.keymap.set("t", "<Esc><Esc>", "<C-\\><C-n>", { desc = "Exit terminal mode" }) vim.keymap.set("t", "<Esc><Esc>", "<C-\\><C-n>", { desc = "Exit terminal mode" })
-- TIP: Disable arrow keys in normal mode -- ╭─────────────────────────────────────────────────────────╮
vim.keymap.set("n", "<left>", '<cmd>echo "Use h to move!!"<CR>') -- │ Windows │
vim.keymap.set("n", "<right>", '<cmd>echo "Use l to move!!"<CR>') -- ╰─────────────────────────────────────────────────────────╯
vim.keymap.set("n", "<up>", '<cmd>echo "Use k to move!!"<CR>')
vim.keymap.set("n", "<down>", '<cmd>echo "Use j to move!!"<CR>')
-- Keybinds to make split navigation easier. -- ────────────────────────────── splitting ──────────────────────────────
-- Use CTRL+<hjkl> to switch between windows vim.keymap.set("n", "<leader>-", "<C-w>s", { desc = "Horizontal split" })
-- vim.keymap.set("n", "<leader>|", "<C-w>v", { desc = "Vertical split" })
-- See `:help wincmd` for a list of all window commands
-- ──────────────────────────── resize panes ─────────────────────────
vim.keymap.set("n", "<left>", "<C-w><")
vim.keymap.set("n", "<right>", "<C-w>>")
vim.keymap.set("n", "<up>", "<C-w>+")
vim.keymap.set("n", "<down>", "<C-w>-")
vim.keymap.set("n", "<S-left>", "<C-w>H")
vim.keymap.set("n", "<S-right>", "<C-w>L")
vim.keymap.set("n", "<S-up>", "<C-w>K")
vim.keymap.set("n", "<S-down>", "<C-w>J")
-- ─────────────────────── CTRL+<hjkl> navigation ────────────────────
vim.keymap.set("n", "<C-h>", "<C-w><C-h>", { desc = "Move focus to the left window" }) vim.keymap.set("n", "<C-h>", "<C-w><C-h>", { desc = "Move focus to the left window" })
vim.keymap.set("n", "<C-l>", "<C-w><C-l>", { desc = "Move focus to the right window" }) vim.keymap.set("n", "<C-l>", "<C-w><C-l>", { desc = "Move focus to the right window" })
vim.keymap.set("n", "<C-j>", "<C-w><C-j>", { desc = "Move focus to the lower window" }) vim.keymap.set("n", "<C-j>", "<C-w><C-j>", { desc = "Move focus to the lower window" })
vim.keymap.set("n", "<C-k>", "<C-w><C-k>", { desc = "Move focus to the upper window" }) vim.keymap.set("n", "<C-k>", "<C-w><C-k>", { desc = "Move focus to the upper window" })
-- ─────────────────────────── tabs navigation ───────────────────────────
vim.keymap.set("n", "<Tab>", ":tabnext<CR>", { desc = "Switch to next tab", noremap = true, silent = true }) vim.keymap.set("n", "<Tab>", ":tabnext<CR>", { desc = "Switch to next tab", noremap = true, silent = true })
vim.keymap.set("n", "<S-Tab>", ":tabprev<CR>", { desc = "Switch to previous tab", noremap = true, silent = true }) vim.keymap.set("n", "<S-Tab>", ":tabprev<CR>", { desc = "Switch to previous tab", noremap = true, silent = true })
vim.keymap.set("n", "<C-PageUp>", ":tabnext<CR>", { desc = "Switch to next tab", noremap = true, silent = true }) vim.keymap.set("n", "<C-PageUp>", ":tabnext<CR>", { desc = "Switch to next tab", noremap = true, silent = true })
@ -39,10 +42,13 @@ vim.keymap.set("n", "th", ":tabprev<CR>", { desc = "[T]ab left", noremap = true,
vim.keymap.set("n", "tj", ":tabfirst<CR>", { desc = "[T]ab home", noremap = true, silent = true }) vim.keymap.set("n", "tj", ":tabfirst<CR>", { desc = "[T]ab home", noremap = true, silent = true })
vim.keymap.set("n", "tk", ":tablast<CR>", { desc = "[T]ab end", noremap = true, silent = true }) vim.keymap.set("n", "tk", ":tablast<CR>", { desc = "[T]ab end", noremap = true, silent = true })
-- Move selected line(s) up -- ╭─────────────────────────────────────────────────────────╮
-- │ Moving lines │
-- ╰─────────────────────────────────────────────────────────╯
-- ────────────────────── Move selected line(s) up ───────────────────
vim.api.nvim_set_keymap("n", "<A-k>", ":m .-2<CR>==", { noremap = true, silent = true }) vim.api.nvim_set_keymap("n", "<A-k>", ":m .-2<CR>==", { noremap = true, silent = true })
vim.api.nvim_set_keymap("v", "<A-k>", ":m '<-2<CR>gv=gv", { noremap = true, silent = true }) vim.api.nvim_set_keymap("v", "<A-k>", ":m '<-2<CR>gv=gv", { noremap = true, silent = true })
-- Move selected line(s) down -- ───────────────────── Move selected line(s) down ──────────────────
vim.api.nvim_set_keymap("n", "<A-j>", ":m .+1<CR>==", { noremap = true, silent = true }) vim.api.nvim_set_keymap("n", "<A-j>", ":m .+1<CR>==", { noremap = true, silent = true })
vim.api.nvim_set_keymap("v", "<A-j>", ":m '>+1<CR>gv=gv", { noremap = true, silent = true }) vim.api.nvim_set_keymap("v", "<A-j>", ":m '>+1<CR>gv=gv", { noremap = true, silent = true })

View File

@ -1,5 +1,5 @@
require("goodhumored.common-bindings")
require("goodhumored.common-vim-settings") require("goodhumored.common-vim-settings")
require("goodhumored.common-bindings")
require("goodhumored.lazy") require("goodhumored.lazy")
-- The line beneath this is called `modeline`. See `:help modeline` -- The line beneath this is called `modeline`. See `:help modeline`
-- vim: ts=2 sts=2 sw=2 et -- vim: ts=2 sts=2 sw=2 et