-- ╭─────────────────────────────────────────────────────────╮ -- │ Keybinds │ -- ╰─────────────────────────────────────────────────────────╯ -- Initialize which-key local wk = require("which-key") wk.add({ { -- Open LazyGit in terminal "gt", rhs = function() require("config.rootiest").toggle_lazygit_term() end, desc = "LazyGit Terminal", }, -- Icon Picker group { mode = "n", lhs = "I", group = "IconPicker", icon = { icon = "󰥸", color = "orange" }, }, -- Gists group { mode = "n", lhs = "gn", group = "Gists", icon = { icon = "", color = "orange" }, }, { -- Lazy group "l", group = "Lazy", }, { -- LazyVim "lv", "Lazy", desc = "LazyVim", }, { -- LazyExtras "lx", "LazyExtras", desc = "LazyExtras", }, { -- MiniMap "m", group = "MiniMap", icon = { icon = "", color = "yellow" }, }, { "yo", rhs = function() require("config.rootiest").yank_line() end, desc = "Yank Line-text", }, { -- Toggle Hardmode with Hints "uH", rhs = function() require("config.rootiest").toggle_hardmode() end, desc = "Toggle Hardmode", }, { "u,", group = "Font" }, { -- Yank buffer contents "Y", "%y", desc = "Yank buffer contents", }, }) -- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━ smart-splits ━━━━━━━━━━━━━━━━━━━━━━━━━ -- recommended mappings -- resizing splits -- these keymaps will also accept a range, -- for example `10` will `resize_left` by `(10 * config.default_amount)` vim.keymap.set("n", "", require("smart-splits").resize_left) vim.keymap.set("n", "", require("smart-splits").resize_down) vim.keymap.set("n", "", require("smart-splits").resize_up) vim.keymap.set("n", "", require("smart-splits").resize_right) -- moving between splits vim.keymap.set("n", "", require("smart-splits").move_cursor_left) vim.keymap.set("n", "", require("smart-splits").move_cursor_down) vim.keymap.set("n", "", require("smart-splits").move_cursor_up) vim.keymap.set("n", "", require("smart-splits").move_cursor_right) vim.keymap.set("n", "", require("smart-splits").move_cursor_previous) -- swapping buffers between windows vim.keymap.set("n", "h", require("smart-splits").swap_buf_left) vim.keymap.set("n", "j", require("smart-splits").swap_buf_down) vim.keymap.set("n", "k", require("smart-splits").swap_buf_up) vim.keymap.set("n", "l", require("smart-splits").swap_buf_right) -- resizing splits -- these keymaps will also accept a range, -- for example `10` will `resize_left` by `(10 * config.default_amount)` vim.keymap.set("t", "", require("smart-splits").resize_left) vim.keymap.set("t", "", require("smart-splits").resize_down) vim.keymap.set("t", "", require("smart-splits").resize_up) vim.keymap.set("t", "", require("smart-splits").resize_right) -- moving between splits vim.keymap.set("t", "", require("smart-splits").move_cursor_left) vim.keymap.set("t", "", require("smart-splits").move_cursor_down) vim.keymap.set("t", "", require("smart-splits").move_cursor_up) vim.keymap.set("t", "", require("smart-splits").move_cursor_right) vim.keymap.set("t", "", require("smart-splits").move_cursor_previous) -- swapping buffers between windows vim.keymap.set("t", "h", require("smart-splits").swap_buf_left) vim.keymap.set("t", "j", require("smart-splits").swap_buf_down) vim.keymap.set("t", "k", require("smart-splits").swap_buf_up) vim.keymap.set("t", "l", require("smart-splits").swap_buf_right)