From 600306f9be5b15af18cc1f858e1dec8b409eb0b3 Mon Sep 17 00:00:00 2001 From: Oliver Ladner Date: Tue, 20 May 2025 15:53:29 +0200 Subject: [PATCH] feat: add mini.ai --- CHEATSHEET.md | 17 ++--- CHEATSHEET.pdf | Bin 49450 -> 49672 bytes lua/weeheavy/plugins/flash.lua | 110 ++++++++++++++++----------------- lua/weeheavy/plugins/mini.lua | 17 +---- 4 files changed, 67 insertions(+), 77 deletions(-) diff --git a/CHEATSHEET.md b/CHEATSHEET.md index f020601..9e235b5 100644 --- a/CHEATSHEET.md +++ b/CHEATSHEET.md @@ -1,14 +1,15 @@ # Neovim cheat sheet +Heavily customized. Related blog post: https://lugh.ch/neovim-lessons-learned.html + ## BASICS - `:checkhealth []` check base or plugin status - `:checkhealth vim.lsp` show details of LSP attached to buffer - `:verbose set expandtab?` check where `expandtab` has been set last -- `:Lazy` show package manager UI -- `:Mason` show Mason UI +- `:Lazy` show package manager TUI +- `:Mason` show LSP management TUI - `:TSUpdate` update all Tree-sitter parsers -- `:LspInfo` show attached LSP client details - `:ConformInfo` useful to debug why a formatter times out ## NAVIGATING @@ -27,19 +28,19 @@ ## Buffers - `leader`+`leader` lists open buffers in `snipe.nvim` -- In snipe.nvim popup: Hit `d` to close the selected buffer +- In snipe.nvim popup: Hit `D` to close the selected buffer - `:bd` close current buffer ## Text -- `w/e` move to **start/end of next word** (ignores punctuation due to remap) -- `b` move to **start of previous word** (ignores punctuation due to remap) +- `w/e` move to **start/end of next word** +- `b` move to **start of previous word** - `Ctrl`+`0` start of line - `Ctrl`+`$` end of line - `Ctrl`+`d/u` scroll down/up 1/2 page while keeping the cursor centered - `Ctrl`+`o` jump to location you were before (e.g. after using `gg`) - `Ctrl`+`i` jump back to location you were before (after using `Ctrl`+`o`) -- `s` highlight jump targets via `flash.nvim` +- `s` highlight jump targets w/ `flash.nvim` ## LSP, Code & Diagnostics @@ -92,6 +93,8 @@ - `:windo diffthis` open `vimdiff` for open splits - `:vert diffsplit ` diff this file and `` - `:windo diffoff` to close diff view +- `ciq` change inside quotes w/ `mini.ai` +- `caq` change around quotes w/ `mini.ai` ## SELECTING diff --git a/CHEATSHEET.pdf b/CHEATSHEET.pdf index efe87a532b915bab8a7942c3178797732c863281..ebfa14b532e42b7fcf9f13626f9cf0483927128a 100644 GIT binary patch delta 20818 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 BZ3zGX delta 20542 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

l#0ZSBq5PAe^>9>ZL(|Yu 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 - current = true, - -- show the label after the match - after = true, ---@type boolean|number[] - -- show the label before the match - before = false, ---@type boolean|number[] - -- position of the label extmark - -- style = "overlay", ---@type "eol" | "overlay" | "right_align" | "inline" - -- flash tries to re-use labels that were already assigned to a position, - -- when typing more characters. By default only lower-case labels are re-used. - reuse = "lowercase", ---@type "lowercase" | "all" | "none" - -- for the current window, label targets closer to the cursor first - distance = true, - -- minimum pattern length to show labels - -- Ignored for custom labelers. - min_pattern_length = 0, - -- Enable this to use rainbow colors to highlight labels - -- Can be useful for visualizing Treesitter ranges. - rainbow = { - enabled = true, - -- number between 1 and 9 - shade = 4, - }, - }, - highlight = { - -- show a backdrop with hl FlashBackdrop - backdrop = true, - -- Highlight the search matches - matches = false, - -- extmark priority - priority = 5000, - groups = { - match = "FlashMatch", - current = "FlashCurrent", - backdrop = "FlashBackdrop", - label = "FlashLabel", - }, - }, - }, - -- stylua: ignore - keys = { - { "s", mode = { "n", "x", "o" }, function() require("flash").jump() end, desc = "Flash" }, - { "S", mode = { "n", "x", "o" }, function() require("flash").treesitter() end, desc = "Flash Treesitter" }, - { "r", mode = "o", function() require("flash").remote() end, desc = "Remote Flash" }, - { "R", mode = { "o", "x" }, function() require("flash").treesitter_search() end, desc = "Treesitter Search" }, - { "", mode = { "c" }, function() require("flash").toggle() end, desc = "Toggle Flash Search" }, - }, + "folke/flash.nvim", + opts = { + label = { + -- allow uppercase labels + uppercase = true, + -- add any labels with the correct case here, that you want to exclude + exclude = "", + -- add a label for the first match in the current window. + -- you can always jump to the first match with `` + current = true, + -- show the label after the match + after = true, ---@type boolean|number[] + -- show the label before the match + before = false, ---@type boolean|number[] + -- position of the label extmark + -- style = "overlay", ---@type "eol" | "overlay" | "right_align" | "inline" + -- flash tries to re-use labels that were already assigned to a position, + -- when typing more characters. By default only lower-case labels are re-used. + reuse = "lowercase", ---@type "lowercase" | "all" | "none" + -- for the current window, label targets closer to the cursor first + distance = true, + -- minimum pattern length to show labels + -- Ignored for custom labelers. + min_pattern_length = 0, + -- Enable this to use rainbow colors to highlight labels + -- Can be useful for visualizing Treesitter ranges. + rainbow = { + enabled = true, + -- number between 1 and 9 + shade = 4, + }, + }, + highlight = { + -- show a backdrop with hl FlashBackdrop + backdrop = true, + -- Highlight the search matches + matches = false, + -- extmark priority + priority = 5000, + groups = { + match = "FlashMatch", + current = "FlashCurrent", + backdrop = "FlashBackdrop", + label = "FlashLabel", + }, + }, + }, + -- stylua: ignore + keys = { + { "s", mode = { "n", "x", "o" }, function() require("flash").jump() end, desc = "Flash" }, + -- { "S", mode = { "n", "x", "o" }, function() require("flash").treesitter() end, desc = "Flash Treesitter" }, + { "r", mode = "o", function() require("flash").remote() end, desc = "Remote Flash" }, + { "R", mode = { "o", "x" }, function() require("flash").treesitter_search() end, desc = "Treesitter Search" }, + { "", mode = { "c" }, function() require("flash").toggle() end, desc = "Toggle Flash Search" }, + }, } diff --git a/lua/weeheavy/plugins/mini.lua b/lua/weeheavy/plugins/mini.lua index fde12fc..3bb5d20 100644 --- a/lua/weeheavy/plugins/mini.lua +++ b/lua/weeheavy/plugins/mini.lua @@ -4,22 +4,9 @@ return { version = false, config = function() require("mini.icons").setup() - require("mini.ai").setup({ n_lines = 500 }) + -- require("mini.ai").setup({ n_lines = 500 }) require("mini.trailspace").setup() require("mini.cursorword").setup() - require("mini.surround").setup({ - mappings = { - -- add = "wq", -- Add surrounding in Normal and Visual modes - -- delete = "wd", -- Delete surrounding - -- -- find = "sf", -- Find surrounding (to the right) - -- -- find_left = "sF", -- Find surrounding (to the left) - -- highlight = "hs", -- Highlight surrounding - -- replace = "wc", -- Replace surrounding - -- -- update_n_lines = "sn", -- Update `n_lines` - -- - -- -- suffix_last = "l", -- Suffix to search with "prev" method - -- -- suffix_next = "n", -- Suffix to search with "next" method - }, - }) + require("mini.ai").setup() end, }