From b2caa792245cc0330ab5e8ab4a9018a772b8a792 Mon Sep 17 00:00:00 2001 From: goodhumored Date: Fri, 16 Aug 2024 11:06:50 +0300 Subject: [PATCH] nvim keybindings organized keybinding imports moved after main config --- .../nvim/lua/goodhumored/common-bindings.lua | 50 +++++++++++-------- .config/nvim/lua/goodhumored/init.lua | 2 +- 2 files changed, 29 insertions(+), 23 deletions(-) diff --git a/.config/nvim/lua/goodhumored/common-bindings.lua b/.config/nvim/lua/goodhumored/common-bindings.lua index 335881b..b3fc0d2 100644 --- a/.config/nvim/lua/goodhumored/common-bindings.lua +++ b/.config/nvim/lua/goodhumored/common-bindings.lua @@ -1,35 +1,38 @@ +-- ───────────────────── disable highlight on search ───────────────────── vim.keymap.set("n", "", "nohlsearch") --- Diagnostic keymaps +-- ───────────────────────── Diagnostic keymaps ────────────────────── vim.keymap.set("n", "q", vim.diagnostic.setloclist, { desc = "Open diagnostic [Q]uickfix list" }) --- splitting -vim.keymap.set("n", "-", "sp", { desc = "Horizontal split" }) -vim.keymap.set("n", "|", "vsp", { 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 , 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 to exit terminal mode +-- ────────── easy leave terminal (shortcut to ctrl+\, ctrl+n) ─────── vim.keymap.set("t", "", "", { desc = "Exit terminal mode" }) --- TIP: Disable arrow keys in normal mode -vim.keymap.set("n", "", 'echo "Use h to move!!"') -vim.keymap.set("n", "", 'echo "Use l to move!!"') -vim.keymap.set("n", "", 'echo "Use k to move!!"') -vim.keymap.set("n", "", 'echo "Use j to move!!"') +-- ╭─────────────────────────────────────────────────────────╮ +-- │ Windows │ +-- ╰─────────────────────────────────────────────────────────╯ --- Keybinds to make split navigation easier. --- Use CTRL+ to switch between windows --- --- See `:help wincmd` for a list of all window commands +-- ────────────────────────────── splitting ────────────────────────────── +vim.keymap.set("n", "-", "s", { desc = "Horizontal split" }) +vim.keymap.set("n", "|", "v", { desc = "Vertical split" }) + +-- ──────────────────────────── resize panes ───────────────────────── +vim.keymap.set("n", "", "<") +vim.keymap.set("n", "", ">") +vim.keymap.set("n", "", "+") +vim.keymap.set("n", "", "-") + +vim.keymap.set("n", "", "H") +vim.keymap.set("n", "", "L") +vim.keymap.set("n", "", "K") +vim.keymap.set("n", "", "J") + +-- ─────────────────────── CTRL+ navigation ──────────────────── vim.keymap.set("n", "", "", { desc = "Move focus to the left window" }) vim.keymap.set("n", "", "", { desc = "Move focus to the right window" }) vim.keymap.set("n", "", "", { desc = "Move focus to the lower window" }) vim.keymap.set("n", "", "", { desc = "Move focus to the upper window" }) +-- ─────────────────────────── tabs navigation ─────────────────────────── vim.keymap.set("n", "", ":tabnext", { desc = "Switch to next tab", noremap = true, silent = true }) vim.keymap.set("n", "", ":tabprev", { desc = "Switch to previous tab", noremap = true, silent = true }) vim.keymap.set("n", "", ":tabnext", { desc = "Switch to next tab", noremap = true, silent = true }) @@ -39,10 +42,13 @@ vim.keymap.set("n", "th", ":tabprev", { desc = "[T]ab left", noremap = true, vim.keymap.set("n", "tj", ":tabfirst", { desc = "[T]ab home", noremap = true, silent = true }) vim.keymap.set("n", "tk", ":tablast", { 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", "", ":m .-2==", { noremap = true, silent = true }) vim.api.nvim_set_keymap("v", "", ":m '<-2gv=gv", { noremap = true, silent = true }) --- Move selected line(s) down +-- ───────────────────── Move selected line(s) down ────────────────── vim.api.nvim_set_keymap("n", "", ":m .+1==", { noremap = true, silent = true }) vim.api.nvim_set_keymap("v", "", ":m '>+1gv=gv", { noremap = true, silent = true }) diff --git a/.config/nvim/lua/goodhumored/init.lua b/.config/nvim/lua/goodhumored/init.lua index 853bf77..712b088 100644 --- a/.config/nvim/lua/goodhumored/init.lua +++ b/.config/nvim/lua/goodhumored/init.lua @@ -1,5 +1,5 @@ -require("goodhumored.common-bindings") require("goodhumored.common-vim-settings") +require("goodhumored.common-bindings") require("goodhumored.lazy") -- The line beneath this is called `modeline`. See `:help modeline` -- vim: ts=2 sts=2 sw=2 et