My nvim configuration
| 1 | ---@type LazySpec |
| 2 | return { |
| 3 | "nvimtools/hydra.nvim", |
| 4 | event = "VeryLazy", |
| 5 | config = function() |
| 6 | local Hydra = require("hydra") |
| 7 | |
| 8 | Hydra({ |
| 9 | name = "Windows", |
| 10 | mode = "n", |
| 11 | body = "<leader>w", |
| 12 | hint = [[ |
| 13 | _h_ _j_ _k_ _l_ move focus |
| 14 | _H_ _J_ _K_ _L_ move window |
| 15 | _+_ _-_ _>_ _<_ resize |
| 16 | _=_ equalize |
| 17 | _s_ _v_ split h/v |
| 18 | _o_ only |
| 19 | _q_ _c_ close |
| 20 | _<Esc>_ exit |
| 21 | ]], |
| 22 | config = { |
| 23 | invoke_on_body = true, |
| 24 | hint = { type = "window", position = "bottom" }, |
| 25 | }, |
| 26 | heads = { |
| 27 | { "h", "<Cmd>wincmd h<CR>" }, |
| 28 | { "j", "<Cmd>wincmd j<CR>" }, |
| 29 | { "k", "<Cmd>wincmd k<CR>" }, |
| 30 | { "l", "<Cmd>wincmd l<CR>" }, |
| 31 | { "H", "<Cmd>wincmd H<CR>" }, |
| 32 | { "J", "<Cmd>wincmd J<CR>" }, |
| 33 | { "K", "<Cmd>wincmd K<CR>" }, |
| 34 | { "L", "<Cmd>wincmd L<CR>" }, |
| 35 | { "+", "<Cmd>resize +2<CR>" }, |
| 36 | { "-", "<Cmd>resize -2<CR>" }, |
| 37 | { ">", "<Cmd>vertical resize +2<CR>" }, |
| 38 | { "<", "<Cmd>vertical resize -2<CR>" }, |
| 39 | { "=", "<Cmd>wincmd =<CR>" }, |
| 40 | { "s", "<Cmd>split<CR>" }, |
| 41 | { "v", "<Cmd>vsplit<CR>" }, |
| 42 | { "o", "<Cmd>only<CR>", { exit = true } }, |
| 43 | { "q", "<Cmd>close<CR>", { exit = true } }, |
| 44 | { "c", "<Cmd>close<CR>", { exit = true } }, |
| 45 | { "<Esc>", nil, { exit = true } }, |
| 46 | }, |
| 47 | }) |
| 48 | end, |
| 49 | } |