{"id":13572110,"url":"https://github.com/rafi/vim-config","last_synced_at":"2025-05-14T05:11:16.400Z","repository":{"id":12959632,"uuid":"15637960","full_name":"rafi/vim-config","owner":"rafi","description":"Lean mean Neovim machine, carefully crafted with :heart:  Use with latest Neovim.","archived":false,"fork":false,"pushed_at":"2025-01-28T19:05:01.000Z","size":2944,"stargazers_count":1935,"open_issues_count":2,"forks_count":466,"subscribers_count":55,"default_branch":"master","last_synced_at":"2025-05-13T11:11:50.270Z","etag":null,"topics":["css","dotfiles","golang","html","ide","javascript","language-server-protocol","lsp","neovim","nvim","nvim-lsp","nvim-lua","nvim-telescope","php","python","vim","vimrc"],"latest_commit_sha":null,"homepage":"","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rafi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-01-04T19:15:37.000Z","updated_at":"2025-05-07T06:04:41.000Z","dependencies_parsed_at":"2024-11-19T21:06:42.040Z","dependency_job_id":"618a3b1a-812b-4d3c-ad55-71c04df790af","html_url":"https://github.com/rafi/vim-config","commit_stats":{"total_commits":1249,"total_committers":14,"mean_commits":89.21428571428571,"dds":"0.13610888710968772","last_synced_commit":"ad14fa1579c38d3700a5743cf31df4c1b5b999cd"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rafi%2Fvim-config","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rafi%2Fvim-config/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rafi%2Fvim-config/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rafi%2Fvim-config/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rafi","download_url":"https://codeload.github.com/rafi/vim-config/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254076850,"owners_count":22010611,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["css","dotfiles","golang","html","ide","javascript","language-server-protocol","lsp","neovim","nvim","nvim-lsp","nvim-lua","nvim-telescope","php","python","vim","vimrc"],"created_at":"2024-08-01T14:01:13.681Z","updated_at":"2025-05-14T05:11:11.376Z","avatar_url":"https://github.com/rafi.png","language":"Lua","readme":"# Rafael Bodill's Neovim Config\n\nLean mean Neovim machine, 30-45ms startup time. Works best with [Neovim] ≥0.10\n\u003cbr /\u003e(powered by [LazyVim]💤)\n\n:gear: See [__Extending__](#extending) for customizing configuration and adding\nplugins.\n\n\u003e I encourage you to fork this repo and create your own experience.\n\u003e Learn how to tweak and change Neovim to the way YOU like it.\n\u003e This is my cultivation of years of tweaking, use it as a git remote\n\u003e and stay in-touch with upstream for reference or cherry-picking.\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cstrong\u003eTable of Contents\u003c/strong\u003e\n    \u003csmall\u003e\u003ci\u003e(🔎 Click to expand/collapse)\u003c/i\u003e\u003c/small\u003e\n  \u003c/summary\u003e\n\n\u003c!-- vim-markdown-toc GFM --\u003e\n\n* [Features](#features)\n* [Screenshot](#screenshot)\n* [Prerequisites](#prerequisites)\n* [Install](#install)\n* [Install LSP, DAP, Linters, Formatters](#install-lsp-dap-linters-formatters)\n  * [Language-Server Protocol (LSP)](#language-server-protocol-lsp)\n  * [Recommended LSP](#recommended-lsp)\n  * [Recommended Linters](#recommended-linters)\n  * [Recommended Formatters](#recommended-formatters)\n* [Recommended Fonts](#recommended-fonts)\n* [Upgrade](#upgrade)\n* [Structure](#structure)\n* [Extending](#extending)\n  * [Extend: Config](#extend-config)\n  * [Extend: Plugins](#extend-plugins)\n  * [Extend: Defaults](#extend-defaults)\n  * [Extend: LSP Settings](#extend-lsp-settings)\n* [Plugin Highlights](#plugin-highlights)\n* [Plugins Included](#plugins-included)\n  * [Completion \u0026 Code-Analysis](#completion--code-analysis)\n  * [Editor Plugins](#editor-plugins)\n  * [Coding Plugins](#coding-plugins)\n  * [Colorscheme Plugins](#colorscheme-plugins)\n  * [Git Plugins](#git-plugins)\n  * [Misc Plugins](#misc-plugins)\n  * [Treesitter \u0026 Syntax](#treesitter--syntax)\n  * [UI Plugins](#ui-plugins)\n* [Extra Plugins](#extra-plugins)\n  * [Extra Plugins: Coding](#extra-plugins-coding)\n  * [Extra Plugins: Colorscheme](#extra-plugins-colorscheme)\n  * [Extra Plugins: Editor](#extra-plugins-editor)\n  * [Extra Plugins: Git](#extra-plugins-git)\n  * [Extra Plugins: Lang](#extra-plugins-lang)\n  * [Extra Plugins: LSP](#extra-plugins-lsp)\n  * [Extra Plugins: Org](#extra-plugins-org)\n  * [Extra Plugins: Treesitter](#extra-plugins-treesitter)\n  * [Extra Plugins: UI](#extra-plugins-ui)\n  * [LazyVim Extras](#lazyvim-extras)\n* [Custom Key-mappings](#custom-key-mappings)\n  * [Picker](#picker)\n  * [Toggle Features](#toggle-features)\n  * [Navigation](#navigation)\n  * [Selection](#selection)\n  * [Jump To](#jump-to)\n  * [Buffers](#buffers)\n  * [Clipboard](#clipboard)\n  * [Auto-Completion](#auto-completion)\n  * [LSP](#lsp)\n  * [Diagnostics](#diagnostics)\n  * [Coding](#coding)\n  * [Search, Substitute, Diff](#search-substitute-diff)\n  * [Command \u0026 History](#command--history)\n  * [File Operations](#file-operations)\n  * [Window Management](#window-management)\n  * [Plugins](#plugins)\n    * [Plugin: Mini.Surround](#plugin-minisurround)\n    * [Plugin: Gitsigns](#plugin-gitsigns)\n    * [Plugin: Diffview](#plugin-diffview)\n    * [Plugin: Neo-Tree](#plugin-neo-tree)\n    * [Plugin: Marks](#plugin-marks)\n    * [Plugin: Zk](#plugin-zk)\n\n\u003c!-- vim-markdown-toc --\u003e\n\u003c/details\u003e\n\n## Features\n\n* Fast startup time — plugins are almost entirely lazy-loaded!\n* Robust, yet light-weight\n* Plugin management with [folke/lazy.nvim]. Use with `:Lazy` or \u003ckbd\u003eSpace\u003c/kbd\u003e+\u003ckbd\u003el\u003c/kbd\u003e\n* Install LSP, DAP, linters, and formatters. Use with `:Mason` or \u003ckbd\u003eSpace\u003c/kbd\u003e+\u003ckbd\u003ecm\u003c/kbd\u003e\n* LSP configuration with [nvim-lspconfig]\n* [telescope.nvim] centric work-flow with lists (try \u003ckbd\u003e;\u003c/kbd\u003e+\u003ckbd\u003ef\u003c/kbd\u003e…)\n* Custom context-menu (try it! \u003ckbd\u003e;\u003c/kbd\u003e+\u003ckbd\u003ec\u003c/kbd\u003e)\n* Auto-complete setup with [blink.cmp] or [nvim-cmp]\n* Structure view with [hedyhli/outline.nvim]\n* Git features using [lewis6991/gitsigns.nvim], [sindrets/diffview.nvim], and [more](#git-plugins)\n* Session management with [folke/persistence.nvim]\n* Unobtrusive, yet informative status \u0026 tab lines\n* Premium color-schemes\n* Remembers last-used colorscheme\n\n## Screenshot\n\n![Vim screenshot](http://rafi.io/img/project/vim-config/features.png)\n\n## Prerequisites\n\n* [git](https://git-scm.com/) ≥ 2.19.0 (`brew install git`)\n* [Neovim](https://github.com/neovim/neovim/wiki/Installing-Neovim) ≥ v0.10.0\n  (`brew install neovim`)\n\n**Optional**, but highly recommended:\n\n* [bat](https://github.com/sharkdp/bat) (`brew install bat`)\n* [fd](https://github.com/sharkdp/fd) (`brew install fd`)\n* [fzf](https://github.com/junegunn/fzf) (`brew install fzf`)\n* [ripgrep](https://github.com/BurntSushi/ripgrep) (`brew install ripgrep`)\n* [zoxide](https://github.com/ajeetdsouza/zoxide) (`brew install zoxide`)\n\n## Install\n\n1. Let's clone this repo! Clone to `~/.config/nvim`\n\n    ```bash\n    mkdir -p ~/.config\n    git clone git@github.com:rafi/vim-config.git ~/.config/nvim\n    cd ~/.config/nvim\n    ```\n\n1. Run `nvim` (will install all plugins the first time).\n\n    It's highly recommended running `:checkhealth` to ensure your system is healthy\n    and meet the requirements.\n\n1. Inside Neovim, run `:LazyExtras` and use \u003ckbd\u003ex\u003c/kbd\u003e to install extras.\n\nEnjoy! :smile:\n\n## Install LSP, DAP, Linters, Formatters\n\nUse `:Mason` (or \u003ckbd\u003eSpace\u003c/kbd\u003e+\u003ckbd\u003ecm\u003c/kbd\u003e) to install and manage LSP\nservers, DAP servers, linters and formatters. See `:h mason.nvim` and\n[williamboman/mason.nvim] for more information.\n\n### Language-Server Protocol (LSP)\n\nYou can install LSP servers using `:Mason` UI, or `:MasonInstall \u003cname\u003e`,\nor `:LspInstall \u003cname\u003e` (use \u003ckbd\u003eTab\u003c/kbd\u003e to list available servers).\nSee Mason's [PACKAGES.md](https://mason-registry.dev/registry/list)\nfor the official list, and the [Language server mapping](https://github.com/williamboman/mason-lspconfig.nvim/blob/main/doc/server-mapping.md)\nlist. You can also view at `:h mason-lspconfig-server-map`\n\nYou'll need utilities like `npm` and `curl` to install some extensions, see\n[requirements](https://github.com/williamboman/mason.nvim#requirements)\n(or `:h mason-requirements`) for more information.\n\nSee [lua/rafi/plugins/lsp/init.lua] for custom key-mappings and configuration\nfor some language-servers.\n\n### Recommended LSP\n\n```vim\n:MasonInstall ansible-language-server bash-language-server css-lsp\n:MasonInstall dockerfile-language-server gopls html-lsp json-lsp\n:MasonInstall lua-language-server marksman pyright sqlls\n:MasonInstall svelte-language-server typescript-language-server\n:MasonInstall tailwindcss-language-server\n:MasonInstall vim-language-server yaml-language-server\n```\n\nand [more](https://github.com/williamboman/mason-lspconfig.nvim/blob/main/doc/server-mapping.md)…\n\n### Recommended Linters\n\n```vim\n:MasonInstall vint shellcheck editorconfig-checker flake8 gitlint hadolint\n:MasonInstall markdownlint mypy selene shellharden write-good yamllint\n```\n\n### Recommended Formatters\n\n```vim\n:MasonInstall black fixjson gofumpt golines isort\n:MasonInstall shfmt sql-formatter stylua\n```\n\n## Recommended Fonts\n\n* [Pragmata Pro] (€19 — €1,990): My preferred font\n* Any of the [Nerd Fonts]\n\nOn macOS with Homebrew, choose one of the [Nerd Fonts],\nfor example, here are some popular fonts:\n\n```sh\nbrew tap homebrew/cask-fonts\nbrew search nerd-font\nbrew install --cask font-victor-mono-nerd-font\nbrew install --cask font-iosevka-nerd-font-mono\nbrew install --cask font-hack-nerd-font\nbrew install --cask font-fira-code\n```\n\n[Pragmata Pro]: https://www.fsd.it/shop/fonts/pragmatapro/\n[Nerd Fonts]: https://www.nerdfonts.com\n\n## Upgrade\n\nTo upgrade packages and plugins:\n\n* Neovim plugins: `:Lazy update`\n* Mason packages: `:Mason` and press \u003ckbd\u003eU\u003c/kbd\u003e\n\nTo update Neovim configuration from my repo:\n\n```bash\ngit pull --ff --ff-only\n```\n\n## Structure\n\n* [after/](./after) — Language specific custom settings and plugins.\n* [lua/](./lua) — Lua configurations\n  * **`config/`** — Custom user configuration\n  * **`plugins/`** — Custom user plugins (or `lua/plugins.lua`)\n  * [rafi/](./lua/rafi)\n    * [config/](./lua/config) — Neovim configurations\n      * [autocmd.lua](./lua/rafi/config/autocmd.lua) — Auto-commands\n      * [init.lua](./lua/rafi/config/init.lua) — Initialization\n      * [keymaps.lua](./lua/rafi/config/keymaps.lua) — Key-mappings\n      * [lazy.lua](./lua/rafi/config/lazy.lua) — Entry-point initialization\n      * [options.lua](./lua/rafi/config/options.lua) — Editor settings\n    * [plugins/](./lua/plugins) — Plugins and configurations\n    * [util/](./lua/rafi/util) — Utility library\n* [snippets/](./snippets) — Personal code snippets\n\n## Extending\n\n### Extend: Config\n\nFork this repository and create a directory\n`lua/config` with one or more of these files: (Optional)\n\n* `lua/config/autocmds.lua` — Custom auto-commands\n* `lua/config/options.lua` — Custom options\n* `lua/config/keymaps.lua` — Custom key-mappings\n* `lua/config/setup.lua` — Override config,\n  see [extend defaults](#extend-defaults).\n\nAdding plugins or override existing options:\n\n* `lua/plugins/*.lua` or `lua/plugins.lua` — Plugins (See [lazy.nvim] specs\n  for syntax)\n\n### Extend: Plugins\n\nInstall \"extras\" plugins using `:LazyExtras` and installing with \u003ckbd\u003ex\u003c/kbd\u003e.\nThis saves choices in `lazyvim.json` which you can also edit manually, here's a\nrecommended starting point:\n\n```json\n{\n  \"extras\": [\n    \"lazyvim.plugins.extras.ai.copilot\",\n    \"lazyvim.plugins.extras.coding.neogen\",\n    \"lazyvim.plugins.extras.coding.yanky\",\n    \"lazyvim.plugins.extras.dap.core\",\n    \"lazyvim.plugins.extras.dap.nlua\",\n    \"lazyvim.plugins.extras.lang.docker\",\n    \"lazyvim.plugins.extras.lang.json\",\n    \"lazyvim.plugins.extras.lang.svelte\",\n    \"lazyvim.plugins.extras.lang.terraform\",\n    \"lazyvim.plugins.extras.lang.toml\",\n    \"lazyvim.plugins.extras.lang.typescript\",\n    \"lazyvim.plugins.extras.test.core\",\n    \"lazyvim.plugins.extras.util.mini-hipatterns\",\n    \"rafi.plugins.extras.lang.ansible\",\n    \"rafi.plugins.extras.lang.go\",\n    \"rafi.plugins.extras.lang.helm\",\n    \"rafi.plugins.extras.lang.kubernetes\",\n    \"rafi.plugins.extras.lang.markdown\",\n    \"rafi.plugins.extras.lang.python\",\n    \"rafi.plugins.extras.lang.tmux\",\n    \"rafi.plugins.extras.ui.deadcolumn\"\n  ],\n  \"news\": [],\n  \"version\": 2\n}\n```\n\nFor installing/overriding/disabling plugins, create a `lua/plugins/foo.lua`\nfile (or `lua/plugins/foo/bar.lua` or simply `lua/plugins.lua`) and manage your\nown plugin collection. You can add or override existing plugins' options, or\njust disable them all-together. Here's an example:\n\n```lua\nreturn {\n\n  -- Disable default tabline\n  { 'akinsho/bufferline.nvim', enabled = false },\n\n  -- And choose a different one!\n  -- { 'itchyny/lightline.vim' },\n  -- { 'vim-airline/vim-airline' },\n  -- { 'glepnir/galaxyline.nvim' },\n  -- { 'glepnir/spaceline.vim' },\n  -- { 'liuchengxu/eleline.vim' },\n\n  -- Enable GitHub's Copilot\n  { import = 'lazyvim.plugins.extras.ai.copilot' },\n\n  -- Enable incline, displaying filenames on each window\n  { import = 'rafi.plugins.extras.ui.incline' },\n\n  -- Disable built-in plugins\n  { 'shadmansaleh/lualine.nvim', enabled = false },\n  { 'folke/persistence.nvim', enabled = false },\n\n  -- Change built-in plugins' options\n  {\n    'nvim-treesitter/nvim-treesitter',\n    opts = {\n      ensure_installed = {\n        'bash', 'comment', 'css', 'diff', 'dockerfile', 'fennel', 'fish',\n        'gitcommit', 'gitignore', 'gitattributes', 'git_rebase', 'go', 'gomod',\n        'gosum', 'gowork', 'graphql', 'hcl', 'html', 'javascript', 'jsdoc',\n        'json', 'json5', 'jsonc', 'jsonnet', 'lua', 'make', 'markdown',\n        'markdown_inline', 'nix', 'perl', 'php', 'pug', 'python', 'regex',\n        'rst', 'ruby', 'rust', 'scss', 'sql', 'svelte', 'terraform', 'toml',\n        'tsx', 'typescript', 'vim', 'vimdoc', 'vue', 'yaml', 'zig',\n      },\n    },\n  },\n\n}\n```\n\n### Extend: Defaults\n\n1. Create `lua/config/options.lua` and set any Neovim/RafiVim/LazyVim features:\n    (Default values are shown)\n\n    ```lua\n    -- Elite-mode (hjkl mode. arrow-keys resize window)\n    vim.g.elite_mode = false\n\n    -- External file diff program\n    vim.g.diffprg = 'bcompare'\n    ```\n\n1. You can override LazyVim options. For example in `lua/plugins/lazyvim.lua`:\n\n    ```lua\n    return {\n      {\n        'LazyVim/LazyVim',\n        opts = {\n          icons = {\n            diagnostics = {\n              Error = '',\n              Warn  = '',\n              Info  = '',\n            },\n            status = {\n              diagnostics = {\n                error = 'E',\n                warn  = 'W',\n                info  = 'I',\n                hint  = 'H',\n              },\n            },\n          },\n        },\n      },\n    }\n    ```\n\n1. You can override lazy.nvim (package-manager) global options.\n   Create `lua/config/setup.lua` and return this function:\n\n    * `lazy_opts()` — override LazyVim setup options\n\n    For example:\n\n    ```lua\n    local M = {}\n\n    ---@return table\n    function M.lazy_opts()\n      return {\n        -- See https://github.com/folke/lazy.nvim/#%EF%B8%8F-configuration\n        concurrency = jit.os:find('Windows') and (vim.uv.available_parallelism() * 2) or nil,\n      }\n    end\n\n    return M\n    ```\n\n1. You can completely override lazy.nvim setup by creating `lua/config/lazy.lua`\n   to replace `lua/rafi/config/lazy.lua` with your own procedure.\n\n### Extend: LSP Settings\n\nOverride server options with [nvim-lspconfig] plugin, for example:\n\n   ```lua\n   {\n     'neovim/nvim-lspconfig',\n     opts = {\n       servers = {\n         yamlls = {\n           filetypes = { 'yaml', 'yaml.ansible', 'yaml.docker-compose' },\n         },\n         lua_ls = {\n           settings = {\n             Lua = {\n               workspace = { checkThirdParty = false },\n               completion = { callSnippet = 'Replace' },\n             },\n           },\n         },\n       },\n     }\n   }\n   ```\n\n## Plugin Highlights\n\n* Plugin management with cache and lazy loading for speed\n* Auto-completion with Language-Server Protocol (LSP)\n* Project-aware tabline\n* Extensive syntax highlighting with [nvim-treesitter].\n\n_Note_ that 95% of the plugins are **lazy-loaded**.\n\n## Plugins Included\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003cstrong\u003eList of plugins\u003c/strong\u003e \u003csmall\u003e\u003ci\u003e(🔎 Click to expand/collapse)\u003c/i\u003e\u003c/small\u003e\u003c/summary\u003e\n\n### Completion \u0026 Code-Analysis\n\n| Name           | Description            |\n| -------------- | ---------------------- |\n| [neovim/nvim-lspconfig] | Quickstart configurations for the Nvim LSP client |\n| [williamboman/mason.nvim] | Portable package manager for Neovim |\n| [williamboman/mason-lspconfig.nvim] | Mason extension for easier lspconfig integration |\n| [stevearc/conform.nvim] | Lightweight yet powerful formatter plugin |\n| [mfussenegger/nvim-lint] | Asynchronous linter plugin |\n\n### Editor Plugins\n\n| Name           | Description |\n| -------------- | ---------------------- |\n| [folke/lazy.nvim] | Modern plugin manager for Neovim |\n| [nmac427/guess-indent.nvim] | Automatic indentation style detection |\n| [tweekmonster/helpful.vim] | Display vim version numbers in docs |\n| [lambdalisue/suda.vim] | An alternative sudo for Vim and Neovim |\n| [folke/persistence.nvim] | Simple lua plugin for automated session management |\n| [mbbill/undotree] | Ultimate undo history visualizer |\n| [folke/flash.nvim] | Search labels, enhanced character motions |\n| [folke/todo-comments.nvim] | Highlight, list and search todo comments in your projects |\n| [folke/trouble.nvim] | Pretty lists to help you solve all code diagnostics |\n| [hedyhli/outline.nvim] | Code outline sidebar powered by LSP |\n| [s1n7ax/nvim-window-picker] | Fancy Window picker |\n| [dnlhc/glance.nvim] | Pretty window for navigating LSP locations |\n| [MagicDuck/grug-far.nvim] | Search/replace in multiple files |\n\n### Coding Plugins\n\n| Name           | Description |\n| -------------- | ---------------------- |\n| [rafamadriz/friendly-snippets] | Preconfigured snippets for different languages |\n| [echasnovski/mini.pairs] | Automatically manage character pairs |\n| [echasnovski/mini.surround] | Fast and feature-rich surround actions |\n| [JoosepAlviste/nvim-ts-context-commentstring] | Set the commentstring based on the cursor location |\n| [numToStr/Comment.nvim] | Powerful line and block-wise commenting |\n| [echasnovski/mini.splitjoin] | Split and join arguments |\n| [echasnovski/mini.trailspace] | Trailing whitespace highlight and remove |\n| [AndrewRadev/linediff.vim] | Perform diffs on blocks of code |\n| [echasnovski/mini.ai] | Extend and create `a`/`i` textobjects |\n| [folke/lazydev.nvim] | Faster LuaLS setup |\n| [Bilal2453/luvit-meta] | Manage libuv types with lazy |\n\n### Colorscheme Plugins\n\n| Name           | Description |\n| -------------- | ---------------------- |\n| [rafi/theme-loader.nvim] | Use last-used colorscheme |\n| [rafi/neo-hybrid.vim] | Modern dark colorscheme, hybrid improved |\n| [rafi/awesome-colorschemes] | Awesome color-schemes |\n\n### Git Plugins\n\n| Name           | Description |\n| -------------- | ---------------------- |\n| [lewis6991/gitsigns.nvim] | Git signs written in pure lua |\n| [sindrets/diffview.nvim] | Tabpage interface for cycling through diffs |\n| [NeogitOrg/neogit] | Magit clone for Neovim |\n| [FabijanZulj/blame.nvim] | Git blame visualizer |\n| [rhysd/committia.vim] | Pleasant editing on Git commit messages |\n\n### Misc Plugins\n\n| Name           | Description |\n| -------------- | ---------------------- |\n| [folke/snacks.nvim] | Collection of small QoL plugins |\n| [hoob3rt/lualine.nvim] | Statusline plugin written in pure lua |\n| [nvim-neo-tree/neo-tree.nvim] | File explorer written in Lua |\n| [nvim-telescope/telescope.nvim] | Find, Filter, Preview, Pick. All lua. |\n| [jvgrootveld/telescope-zoxide] | Telescope extension for Zoxide |\n| [rafi/telescope-thesaurus.nvim] | Browse synonyms for a word |\n| [nvim-lua/plenary.nvim] | Lua functions library |\n\n### Treesitter \u0026 Syntax\n\n| Name           | Description |\n| -------------- | ---------------------- |\n| [nvim-treesitter/nvim-treesitter] | Nvim Treesitter configurations and abstraction layer |\n| [nvim-treesitter/nvim-treesitter-textobjects] | Textobjects using treesitter queries |\n| [windwp/nvim-ts-autotag] | Use treesitter to auto close and auto rename html tag |\n| [andymass/vim-matchup] | Modern matchit and matchparen |\n| [iloginow/vim-stylus] | Better vim plugin for stylus |\n| [mustache/vim-mustache-handlebars] | Mustache and handlebars syntax |\n| [lifepillar/pgsql.vim] | PostgreSQL syntax and indent |\n| [MTDL9/vim-log-highlighting] | Syntax highlighting for generic log files |\n| [reasonml-editor/vim-reason-plus] | Reason syntax and indent |\n\n### UI Plugins\n\n| Name           | Description |\n| -------------- | ---------------------- |\n| [echasnovski/mini.icons] | Icon provider |\n| [MunifTanjim/nui.nvim] | UI Component Library |\n| [stevearc/dressing.nvim] | Improve the default vim-ui interfaces |\n| [akinsho/bufferline.nvim] | Snazzy tab/bufferline |\n| [folke/noice.nvim] | Replaces the UI for messages, cmdline and the popupmenu |\n| [SmiteshP/nvim-navic] | Shows your current code context in winbar/statusline |\n| [chentau/marks.nvim] | Interacting with and manipulating marks |\n| [lukas-reineke/indent-blankline.nvim] | Visually display indent levels |\n| [echasnovski/mini.indentscope] | Visualize and operate on indent scope |\n| [folke/which-key.nvim] | Create key bindings that stick |\n| [tenxsoydev/tabs-vs-spaces.nvim] | Hint and fix deviating indentation |\n| [t9md/vim-quickhl] | Highlight words quickly |\n\n[neovim/nvim-lspconfig]: https://github.com/neovim/nvim-lspconfig\n[williamboman/mason.nvim]: https://github.com/williamboman/mason.nvim\n[williamboman/mason-lspconfig.nvim]: https://github.com/williamboman/mason-lspconfig.nvim\n[stevearc/conform.nvim]: https://github.com/stevearc/conform.nvim\n[mfussenegger/nvim-lint]: https://github.com/mfussenegger/nvim-lint\n\n[folke/lazy.nvim]: https://github.com/folke/lazy.nvim\n[nmac427/guess-indent.nvim]: https://github.com/nmac427/guess-indent.nvim\n[tweekmonster/helpful.vim]: https://github.com/tweekmonster/helpful.vim\n[lambdalisue/suda.vim]: https://github.com/lambdalisue/suda.vim\n[folke/persistence.nvim]: https://github.com/folke/persistence.nvim\n[mbbill/undotree]: https://github.com/mbbill/undotree\n[folke/flash.nvim]: https://github.com/folke/flash.nvim\n[folke/todo-comments.nvim]: https://github.com/folke/todo-comments.nvim\n[folke/trouble.nvim]: https://github.com/folke/trouble.nvim\n[s1n7ax/nvim-window-picker]: https://github.com/s1n7ax/nvim-window-picker\n[dnlhc/glance.nvim]: https://github.com/dnlhc/glance.nvim\n[MagicDuck/grug-far.nvim]: https://github.com/MagicDuck/grug-far.nvim\n\n[rafamadriz/friendly-snippets]: https://github.com/rafamadriz/friendly-snippets\n[echasnovski/mini.pairs]: https://github.com/echasnovski/mini.pairs\n[echasnovski/mini.surround]: https://github.com/echasnovski/mini.surround\n[JoosepAlviste/nvim-ts-context-commentstring]: https://github.com/JoosepAlviste/nvim-ts-context-commentstring\n[numToStr/Comment.nvim]: https://github.com/numToStr/Comment.nvim\n[echasnovski/mini.splitjoin]: https://github.com/echasnovski/mini.splitjoin\n[echasnovski/mini.trailspace]: https://github.com/echasnovski/mini.trailspace\n[AndrewRadev/linediff.vim]: https://github.com/AndrewRadev/linediff.vim\n[echasnovski/mini.ai]: https://github.com/echasnovski/mini.ai\n[folke/lazydev.nvim]: https://github.com/folke/lazydev.nvim\n[Bilal2453/luvit-meta]: https://github.com/Bilal2453/luvit-meta\n\n[rafi/theme-loader.nvim]: https://github.com/rafi/theme-loader.nvim\n[rafi/neo-hybrid.vim]: https://github.com/rafi/neo-hybrid.vim\n[rafi/awesome-colorschemes]: https://github.com/rafi/awesome-vim-colorschemes\n\n[lewis6991/gitsigns.nvim]: https://github.com/lewis6991/gitsigns.nvim\n[sindrets/diffview.nvim]: https://github.com/sindrets/diffview.nvim\n[NeogitOrg/neogit]: https://github.com/NeogitOrg/neogit\n[FabijanZulj/blame.nvim]: https://github.com/FabijanZulj/blame.nvim\n[rhysd/committia.vim]: https://github.com/rhysd/committia.vim\n\n[folke/snacks.nvim]: https://github.com/folke/snacks.nvim\n[hoob3rt/lualine.nvim]: https://github.com/hoob3rt/lualine.nvim\n[nvim-neo-tree/neo-tree.nvim]: https://github.com/nvim-neo-tree/neo-tree.nvim\n[nvim-telescope/telescope.nvim]: https://github.com/nvim-telescope/telescope.nvim\n[jvgrootveld/telescope-zoxide]: https://github.com/jvgrootveld/telescope-zoxide\n[rafi/telescope-thesaurus.nvim]: https://github.com/rafi/telescope-thesaurus.nvim\n[nvim-lua/plenary.nvim]: https://github.com/nvim-lua/plenary.nvim\n\n[nvim-treesitter/nvim-treesitter]: https://github.com/nvim-treesitter/nvim-treesitter\n[nvim-treesitter/nvim-treesitter-textobjects]: https://github.com/nvim-treesitter/nvim-treesitter-textobjects\n[windwp/nvim-ts-autotag]: https://github.com/windwp/nvim-ts-autotag\n[andymass/vim-matchup]: https://github.com/andymass/vim-matchup\n[iloginow/vim-stylus]: https://github.com/iloginow/vim-stylus\n[mustache/vim-mustache-handlebars]: https://github.com/mustache/vim-mustache-handlebars\n[lifepillar/pgsql.vim]: https://github.com/lifepillar/pgsql.vim\n[MTDL9/vim-log-highlighting]: https://github.com/MTDL9/vim-log-highlighting\n[reasonml-editor/vim-reason-plus]: https://github.com/reasonml-editor/vim-reason-plus\n\n[echasnovski/mini.icons]: https://github.com/echasnovski/mini.icons\n[MunifTanjim/nui.nvim]: https://github.com/MunifTanjim/nui.nvim\n[stevearc/dressing.nvim]: https://github.com/stevearc/dressing.nvim\n[akinsho/bufferline.nvim]: https://github.com/akinsho/bufferline.nvim\n[folke/noice.nvim]: https://github.com/folke/noice.nvim\n[SmiteshP/nvim-navic]: https://github.com/SmiteshP/nvim-navic\n[chentau/marks.nvim]: https://github.com/chentau/marks.nvim\n[lukas-reineke/indent-blankline.nvim]: https://github.com/lukas-reineke/indent-blankline.nvim\n[echasnovski/mini.indentscope]: https://github.com/echasnovski/mini.indentscope\n[folke/which-key.nvim]: https://github.com/folke/which-key.nvim\n[tenxsoydev/tabs-vs-spaces.nvim]: https://github.com/tenxsoydev/tabs-vs-spaces.nvim\n[t9md/vim-quickhl]: https://github.com/t9md/vim-quickhl\n\n\u003c/details\u003e\n\n## Extra Plugins\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003cstrong\u003eList of extras\u003c/strong\u003e \u003csmall\u003e\u003ci\u003e(🔎 Click to expand/collapse)\u003c/i\u003e\u003c/small\u003e\u003c/summary\u003e\n\nYou can view all LazyVim's extras at [lazyvim.org/extras].\n\nThese plugins aren't enabled by default. You'll have to install them using\n`:LazyExtras` and installing with \u003ckbd\u003ex\u003c/kbd\u003e. (Or import them using specs)\nSee [Extend: Plugins](#extend-plugins) on how to add plugins and examples.\n\nFollowing are extra-extras available with Rafi's Neovim on-top of LazyVim's:\n\n### Extra Plugins: Coding\n\nSpec: `rafi.plugins.extras.coding.\u003cname\u003e`\n\n| Name           | Repository     | Description |\n| -------------- | -------------- | ---------------------- |\n| `align` | [echasnovski/mini.align] | Align text interactively |\n| `chainsaw` | [chrisgrieser/nvim-chainsaw] | Create log statements on the fly |\n| `debugprint.lua` | [andrewferrier/debugprint.nvim] | Easily add debug print lines |\n| `editorconfig` | [sgur/vim-editorconfig] | EditorConfig plugin written entirely in Vimscript |\n| `emmet` | [mattn/emmet-vim] | Provides support for expanding abbreviations alá emmet |\n| `nvim-cmp` | [hrsh7th/nvim-cmp] | Completion plugin |\n| `sandwich` | [machakann/vim-sandwich] | Search, select, and edit sandwich text objects |\n\n[echasnovski/mini.align]: https://github.com/echasnovski/mini.align\n[chrisgrieser/nvim-chainsaw]: https://github.com/chrisgrieser/nvim-chainsaw\n[andrewferrier/debugprint.nvim]: https://github.com/andrewferrier/debugprint.nvim\n[sgur/vim-editorconfig]: https://github.com/sgur/vim-editorconfig\n[mattn/emmet-vim]: https://github.com/mattn/emmet-vim\n[hrsh7th/nvim-cmp]: https://github.com/hrsh7th/nvim-cmp\n[machakann/vim-sandwich]: https://github.com/machakann/vim-sandwich\n\n### Extra Plugins: Colorscheme\n\nSpec: `rafi.plugins.extras.colorscheme.\u003cname\u003e`\n\n| Name           | Repository     | Description |\n| -------------- | -------------- | ---------------------- |\n| `bamboo`       | [ribru17/bamboo.nvim] | Warm green theme |\n| `cyberdream`   | [scottmckendry/cyberdream.nvim] | High-contrast, futuristic \u0026 vibrant theme |\n| `github`       | [projekt0n/github-nvim-theme] | GitHub's theme |\n| `kanagawa`     | [rebelot/kanagawa.nvim] | Inspired by the colors of the famous painting by Katsushika Hokusai |\n| `monokai-pro`  | [loctvl842/monokai-pro.nvim] | Monokai Pro theme with multiple filters |\n\n[ribru17/bamboo.nvim]: https://github.com/ribru17/bamboo.nvim\n[scottmckendry/cyberdream.nvim]: https://github.com/scottmckendry/cyberdream.nvim\n[projekt0n/github-nvim-theme]: https://github.com/projekt0n/github-nvim-theme\n[rebelot/kanagawa.nvim]: https://github.com/rebelot/kanagawa.nvim\n[loctvl842/monokai-pro.nvim]: https://github.com/loctvl842/monokai-pro.nvim\n\n### Extra Plugins: Editor\n\nSpec: `rafi.plugins.extras.editor.\u003cname\u003e`\n\n| Name          | Repository     | Description |\n| --------------| -------------- | ---------------------- |\n| `anyjump`     | [pechorin/any-jump.vim] | Jump to any definition and references without overhead |\n| `flybuf`      | [glepnir/flybuf.nvim]   | List buffers in a float window |\n| `harpoon2`    | [ThePrimeagen/harpoon]  | Marks for navigating your project |\n| `mini-visits` | [echasnovski/mini.visits] | Track and reuse file system visits |\n| `rest`        | [rest-nvim/rest.nvim] | Fast Neovim http client written in Lua |\n| `sidebar`     | [sidebar-nvim/sidebar.nvim] | Generic and modular lua sidebar |\n| `spectre`     | [nvim-pack/nvim-spectre] | Find and replace |\n| `ufo`         | [kevinhwang91/nvim-ufo] | Make folds look modern and keep a high performance |\n\n[pechorin/any-jump.vim]: https://github.com/pechorin/any-jump.vim\n[glepnir/flybuf.nvim]: https://github.com/glepnir/flybuf.nvim\n[ThePrimeagen/harpoon]: https://github.com/ThePrimeagen/harpoon\n[echasnovski/mini.visits]: https://github.com/echasnovski/mini.visits\n[rest-nvim/rest.nvim]: https://github.com/rest-nvim/rest.nvim\n[sidebar-nvim/sidebar.nvim]: https://github.com/sidebar-nvim/sidebar.nvim\n[nvim-pack/nvim-spectre]: https://github.com/nvim-pack/nvim-spectre\n[kevinhwang91/nvim-ufo]: https://github.com/kevinhwang91/nvim-ufo\n\n### Extra Plugins: Git\n\nSpec: `rafi.plugins.extras.git.\u003cname\u003e`\n\n| Name         | Repository     | Description |\n| -------------| -------------- | ---------------------- |\n| `cmp-git`      | [petertriho/cmp-git] | Git source for nvim-cmp |\n| `fugitive`     | [tpope/vim-fugitive] | Git client, including [junegunn/gv.vim] |\n\n[petertriho/cmp-git]: https://github.com/petertriho/cmp-git\n[tpope/vim-fugitive]: https://github.com/tpope/vim-fugitive\n[junegunn/gv.vim]: https://github.com/junegunn/gv.vim\n\n### Extra Plugins: Lang\n\nSpec: `rafi.plugins.extras.lang.\u003cname\u003e`\n\n| Name             | Description |\n| ---------------- | ---------------------- |\n| `ansible`        | imports `lazyvim.plugins.extras.lang.ansible`, add syntax and [pearofducks/ansible-vim] |\n| `go`             | imports `lazyvim.plugins.extras.lang.go`, add tools, patterns, etc. |\n| `helm`           | imports `lazyvim.plugins.extras.lang.helm`, add filetype patterns |\n| `kubernetes`     | imports `lazyvim.plugins.extras.lang.yaml`, add filetype patterns and [ramilito/kubectl.nvim] |\n| `markdown`       | imports `lazyvim.plugins.extras.lang.markdown`, disable headlines, add [mzlogin/vim-markdown-toc] |\n| `python`         | imports `lazyvim.plugins.extras.lang.python`, add syntax and filetype patterns |\n| `tmux`           | syntax, completion [andersevenrud/cmp-tmux], keymaps [christoomey/tmux-navigator] |\n\n[pearofducks/ansible-vim]: https://github.com/pearofducks/ansible-vim\n[ramilito/kubectl.nvim]: https://github.com/ramilito/kubectl.nvim\n[mzlogin/vim-markdown-toc]: https://github.com/mzlogin/vim-markdown-toc\n[andersevenrud/cmp-tmux]: https://github.com/andersevenrud/cmp-tmux\n[christoomey/tmux-navigator]: https://github.com/christoomey/vim-tmux-navigator\n\n### Extra Plugins: LSP\n\nSpec: `rafi.plugins.extras.lsp.\u003cname\u003e`\n\n| Key              | Name           | Description |\n| ---------------- | -------------- | ---------------------- |\n| `gtd`            | [hrsh7th/nvim-gtd] | LSP's go-to definition plugin |\n| `lightbulb`      | [kosayoda/nvim-lightbulb] | VSCode 💡 for neovim's built-in LSP |\n| `yaml-companion` | [yaml-companion.nvim] | Get, set and autodetect YAML schemas in your buffers |\n\n[hrsh7th/nvim-gtd]: https://github.com/hrsh7th/nvim-gtd\n[kosayoda/nvim-lightbulb]: https://github.com/kosayoda/nvim-lightbulb\n[yaml-companion.nvim]: https://github.com/someone-stole-my-name/yaml-companion.nvim\n\n### Extra Plugins: Org\n\nSpec: `rafi.plugins.extras.org.\u003cname\u003e`\n\n| Key            | Name           | Description |\n| -------------- | -------------- | ---------------------- |\n| `calendar`     | [itchyny/calendar.vim] | Calendar application |\n| `kiwi`         | [serenevoid/kiwi.nvim] | Stripped down VimWiki |\n| `telekasten`   | [renerocksai/telekasten.nvim] | Manage text-based, markdown zettelkasten or wiki with telescope |\n| `vimwiki`      | [vimwiki/vimwiki] | Personal Wiki for Vim |\n| `zk-nvim`      | [zk-org/zk-nvim] | Extension for the zk plain text note-taking assistant |\n\n[itchyny/calendar.vim]: https://github.com/itchyny/calendar.vim\n[serenevoid/kiwi.nvim]: https://github.com/serenevoid/kiwi.nvim\n[renerocksai/telekasten.nvim]: https://github.com/renerocksai/telekasten.nvim\n[vimwiki/vimwiki]: https://github.com/vimwiki/vimwiki\n[zk-org/zk-nvim]: https://github.com/zk-org/zk-nvim\n\n### Extra Plugins: Treesitter\n\nSpec: `rafi.plugins.extras.treesitter.\u003cname\u003e`\n\n| Key            | Name                         | Description |\n| -------------- | ---------------------------- | ---------------------- |\n| `endwise`      | [RRethy/nvim-treesitter-endwise] | Wisely add \"end\" in various filetypes |\n| `treesj`       | [Wansmer/treesj] | Splitting and joining blocks of code |\n\n[RRethy/nvim-treesitter-endwise]: https://github.com/RRethy/nvim-treesitter-endwise\n[Wansmer/treesj]: https://github.com/Wansmer/treesj\n\n### Extra Plugins: UI\n\nSpec: `rafi.plugins.extras.ui.\u003cname\u003e`\n\n| Key               | Name           | Description |\n| ----------------- | -------------- | ---------------------- |\n| `alpha`           | [goolord/alpha-nvim] | Fast and fully programmable greeter |\n| `barbecue`        | [utilyre/barbecue.nvim] | VS Code like winbar |\n| `bookmarks`       | [tomasky/bookmarks.nvim] | Bookmarks plugin with global file store |\n| `bqf`             | [kevinhwang91/nvim-bqf] | Better quickfix window |\n| `ccc`             | [uga-rosa/ccc.nvim] | Super powerful color picker/colorizer plugin |\n| `cursorword`      | [itchyny/cursorword] | Underlines word under cursor |\n| `cybu`            | [ghillb/cybu.nvim] | Cycle buffers with a customizable notification window |\n| `deadcolumn`      | [Bekaboo/deadcolumn.nvim] | Show colorcolumn dynamically |\n| `goto-preview`    | [rmagatti/goto-preview] | Preview definitions using floating windows |\n| `headlines`       | [lukas-reineke/headlines.nvim] | Adds horizontal highlights for headlines and code background. |\n| `illuminate`      | [RRethy/vim-illuminate] | Highlights other uses of the word under the cursor |\n| `incline`         | [b0o/incline.nvim] | Floating statuslines |\n| `marks`           | [chentoast/marks.nvim] | Interacting with and manipulating marks |\n| `mini-clue`       | [echasnovski/mini.clue] | Show next key clues |\n| `mini-map`        | [echasnovski/mini.map] | Window with buffer text overview, scrollbar and highlights |\n| `quicker`         | [stevearc/quicker.nvim] | Improved quickfix UI and workflow |\n| `symbols-outline` | [simrat39/symbols-outline.nvim] | Tree like view for symbols using LSP |\n\n[goolord/alpha-nvim]: https://github.com/goolord/alpha-nvim\n[utilyre/barbecue.nvim]: https://github.com/utilyre/barbecue.nvim\n[tomasky/bookmarks.nvim]: https://github.com/tomasky/bookmarks.nvim\n[kevinhwang91/nvim-bqf]: https://github.com/kevinhwang91/nvim-bqf\n[uga-rosa/ccc.nvim]: https://github.com/uga-rosa/ccc.nvim\n[itchyny/cursorword]: https://github.com/itchyny/vim-cursorword\n[ghillb/cybu.nvim]: https://github.com/ghillb/cybu.nvim\n[Bekaboo/deadcolumn.nvim]: https://github.com/Bekaboo/deadcolumn.nvim\n[rmagatti/goto-preview]: https://github.com/rmagatti/goto-preview\n[lukas-reineke/headlines.nvim]: https://github.com/lukas-reineke/headlines.nvim\n[RRethy/vim-illuminate]: https://github.com/RRethy/vim-illuminate\n[b0o/incline.nvim]: https://github.com/b0o/incline.nvim\n[chentoast/marks.nvim]: https://github.com/chentoast/marks.nvim\n[echasnovski/mini.clue]: https://github.com/echasnovski/mini.clue\n[echasnovski/mini.map]: https://github.com/echasnovski/mini.map\n[stevearc/quicker.nvim]: https://github.com/stevearc/quicker.nvim\n[simrat39/symbols-outline.nvim]: https://github.com/simrat39/symbols-outline.nvim\n\n### LazyVim Extras\n\nLazyVim is imported in specs (see [lua/rafi/config/lazy.lua](./lua/rafi/config/lazy.lua))\nTherefore, you can import any of the \"Extras\" plugins defined at\n[LazyVim/LazyVim](https://github.com/LazyVim/LazyVim/tree/main/lua/lazyvim/plugins/extras)\nand documented in [lazyvim.org/extras].\n\nUse \u003ckbd\u003eSpace\u003c/kbd\u003e\u003ckbd\u003em\u003c/kbd\u003e\u003ckbd\u003ex\u003c/kbd\u003e or `:LazyExtras` to install them.\n\n**These are only highlights:**\n\n* `ai.copilot`\n* `coding.neogen`\n* `coding.yanky`\n* `dap.core`\n* `test.core`\n* `util.mini-hipatterns`\n* `lang.docker`\n* `lang.json`\n* `lang.markdown`\n* `lang.svelte`\n* `lang.terraform`\n* And [much more](https://www.lazyvim.org/extras)…\n\n\u003c/details\u003e\n\n## Custom Key-mappings\n\nNote that,\n\n* **Leader** key set as \u003ckbd\u003eSpace\u003c/kbd\u003e\n* **Local-Leader** key set as \u003ckbd\u003e;\u003c/kbd\u003e and used for navigation and search\n  (Telescope/Snacks/FZF and Neo-tree)\n* Disable \u003ckbd\u003e←\u003c/kbd\u003e \u003ckbd\u003e↑\u003c/kbd\u003e \u003ckbd\u003e→\u003c/kbd\u003e \u003ckbd\u003e↓\u003c/kbd\u003e in normal mode by enabling `vim.g.elite_mode`.\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\n    \u003cstrong\u003eKey-mappings\u003c/strong\u003e\n    \u003csmall\u003e\u003ci\u003e(🔎 Click to expand/collapse)\u003c/i\u003e\u003c/small\u003e\n  \u003c/summary\u003e\n\nLegend: | Ⓝormal | Ⓥisual | Ⓢelect | Ⓘnsert | Ⓞperator | Ⓒommand |\n\n### Picker\n\n (Telescope/Snacks/FZF)\n\n| Key   | Mode | Action |\n| ----- |:----:| ------------------ |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003e;\u003c/kbd\u003e | Ⓝ | Select picker |\n| \u003ckbd\u003e;r\u003c/kbd\u003e | Ⓝ | Resume previous picker |\n| \u003ckbd\u003e;p\u003c/kbd\u003e | Ⓝ | Projects |\n| \u003ckbd\u003e;f\u003c/kbd\u003e | Ⓝ | File |\n| \u003ckbd\u003e;F\u003c/kbd\u003e | Ⓝ | File (cwd) |\n| \u003ckbd\u003e;g\u003c/kbd\u003e | Ⓝ | Grep search |\n| \u003ckbd\u003e;G\u003c/kbd\u003e | Ⓝ | Grep search (cwd) |\n| \u003ckbd\u003e;b\u003c/kbd\u003e | Ⓝ | Switch buffers |\n| \u003ckbd\u003e;h\u003c/kbd\u003e | Ⓝ | Help pages |\n| \u003ckbd\u003e;H\u003c/kbd\u003e | Ⓝ | Highlights |\n| \u003ckbd\u003e;j\u003c/kbd\u003e | Ⓝ | Jumplist |\n| \u003ckbd\u003e;m\u003c/kbd\u003e | Ⓝ | Jump to mark |\n| \u003ckbd\u003e;M\u003c/kbd\u003e | Ⓝ | Man pages |\n| \u003ckbd\u003e;o\u003c/kbd\u003e | Ⓝ | Options |\n| \u003ckbd\u003e;t\u003c/kbd\u003e | Ⓝ | Goto symbol |\n| \u003ckbd\u003e;T\u003c/kbd\u003e | Ⓝ | Goto symbol (workspace) |\n| \u003ckbd\u003e;v\u003c/kbd\u003e | Ⓝ Ⓥ | Registers |\n| \u003ckbd\u003e;s\u003c/kbd\u003e | Ⓝ | Sessions |\n| \u003ckbd\u003e;u\u003c/kbd\u003e | Ⓝ | Spelling suggestions |\n| \u003ckbd\u003e;x\u003c/kbd\u003e | Ⓝ | Recent |\n| \u003ckbd\u003e;X\u003c/kbd\u003e | Ⓝ | Recent (cwd) |\n| \u003ckbd\u003e;z\u003c/kbd\u003e | Ⓝ | Zoxide directories |\n| \u003ckbd\u003e;;\u003c/kbd\u003e | Ⓝ | Command history |\n| \u003ckbd\u003e;:\u003c/kbd\u003e | Ⓝ | Commands |\n| \u003ckbd\u003e;/\u003c/kbd\u003e | Ⓝ | Search history |\n| \u003ckbd\u003e;dd\u003c/kbd\u003e | Ⓝ | LSP definitions |\n| \u003ckbd\u003e;di\u003c/kbd\u003e | Ⓝ | LSP implementations |\n| \u003ckbd\u003e;dr\u003c/kbd\u003e | Ⓝ | LSP references |\n| \u003ckbd\u003e;da\u003c/kbd\u003e | Ⓝ Ⓥ | LSP code actions |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003e/\u003c/kbd\u003e | Ⓝ | Buffer fuzzy find |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003egs\u003c/kbd\u003e | Ⓝ | Git status |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003egr\u003c/kbd\u003e | Ⓝ | Git branches |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003egh\u003c/kbd\u003e | Ⓝ | Git stashes |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003egF\u003c/kbd\u003e | Ⓝ | Find files matching word under cursor |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003egg\u003c/kbd\u003e | Ⓝ Ⓥ | Grep word/selection |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003egG\u003c/kbd\u003e | Ⓝ Ⓥ | Grep word/selection (cwd) |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003esc\u003c/kbd\u003e | Ⓝ | Colorschemes |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003esd\u003c/kbd\u003e | Ⓝ | Document diagnostics |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003esD\u003c/kbd\u003e | Ⓝ | Workspace diagnostics |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003esh\u003c/kbd\u003e | Ⓝ | Help tags |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003esk\u003c/kbd\u003e | Ⓝ | Key-maps |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003esm\u003c/kbd\u003e | Ⓝ | Man pages |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003ess\u003c/kbd\u003e | Ⓝ | LSP document symbols |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003esS\u003c/kbd\u003e | Ⓝ | LSP workspace symbols |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003est\u003c/kbd\u003e | Ⓝ | Todo list |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003esT\u003c/kbd\u003e | Ⓝ | Todo/Fix/Fixme list |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003esw\u003c/kbd\u003e | Ⓝ | Grep string |\n| | | \u0026nbsp; |\n| \u003ckbd\u003e;i\u003c/kbd\u003e | Ⓝ | (Snacks only) Icons |\n| \u003ckbd\u003e;w\u003c/kbd\u003e | Ⓝ | (Telescope only) Notes |\n| \u003ckbd\u003e;n\u003c/kbd\u003e | Ⓝ | (Telescope only) Plugin directories |\n| \u003ckbd\u003e;k\u003c/kbd\u003e | Ⓝ | (Telescope only) Thesaurus |\n| | | \u0026nbsp; |\n| **Within _Picker_ window** | | \u0026nbsp; |\n| \u003ckbd\u003e?\u003c/kbd\u003e | Ⓝ | Keymaps help screen |\n| \u003ckbd\u003eCtrl\u003c/kbd\u003e+\u003ckbd\u003eSpace\u003c/kbd\u003e | Ⓝ | Move from none fuzzy search to fuzzy |\n| \u003ckbd\u003ejj\u003c/kbd\u003e or \u003ckbd\u003eEscape\u003c/kbd\u003e | Ⓘ | Leave Insert mode |\n| \u003ckbd\u003ei\u003c/kbd\u003e | Ⓝ | Enter Insert mode (filter input) |\n| \u003ckbd\u003eq\u003c/kbd\u003e or \u003ckbd\u003eEscape\u003c/kbd\u003e | Ⓝ | Exit |\n| \u003ckbd\u003eTab\u003c/kbd\u003e or \u003ckbd\u003eShift\u003c/kbd\u003e+\u003ckbd\u003eTab\u003c/kbd\u003e | Ⓝ Ⓘ | Next/previous candidate |\n| \u003ckbd\u003eCtrl\u003c/kbd\u003e+\u003ckbd\u003ed\u003c/kbd\u003e/\u003ckbd\u003eu\u003c/kbd\u003e | Ⓝ Ⓘ | Scroll down/upwards |\n| \u003ckbd\u003eCtrl\u003c/kbd\u003e+\u003ckbd\u003ef\u003c/kbd\u003e/\u003ckbd\u003eb\u003c/kbd\u003e | Ⓝ Ⓘ | Scroll preview down/upwards |\n| \u003ckbd\u003eCtrl\u003c/kbd\u003e+\u003ckbd\u003ej\u003c/kbd\u003e/\u003ckbd\u003ek\u003c/kbd\u003e | Ⓝ Ⓘ | Scroll preview vertically |\n| \u003ckbd\u003eCtrl\u003c/kbd\u003e+\u003ckbd\u003eh\u003c/kbd\u003e/\u003ckbd\u003el\u003c/kbd\u003e | Ⓝ Ⓘ | Scroll preview horizontally |\n| \u003ckbd\u003eJ\u003c/kbd\u003e or \u003ckbd\u003eK\u003c/kbd\u003e | Ⓝ | Select candidates up/downwards |\n| \u003ckbd\u003est\u003c/kbd\u003e | Ⓝ | Open in a new tab |\n| \u003ckbd\u003esg\u003c/kbd\u003e | Ⓝ | Open in a vertical split |\n| \u003ckbd\u003esv\u003c/kbd\u003e | Ⓝ | Open in a split |\n| \u003ckbd\u003e*\u003c/kbd\u003e  | Ⓝ | Toggle selection |\n| \u003ckbd\u003eu\u003c/kbd\u003e  | Ⓝ | Drop all |\n| \u003ckbd\u003ew\u003c/kbd\u003e  | Ⓝ | Smart send to quickfix list |\n| \u003ckbd\u003ee\u003c/kbd\u003e  | Ⓝ | Send to quickfix list |\n| \u003ckbd\u003eCtrl\u003c/kbd\u003e+\u003ckbd\u003eq\u003c/kbd\u003e | Ⓘ | Send to quickfix list |\n| \u003ckbd\u003edd\u003c/kbd\u003e | Ⓝ | Delete entry (buffer list) |\n| \u003ckbd\u003e!\u003c/kbd\u003e | Ⓝ | Edit in command line |\n\n### Toggle Features\n\n| Key   | Mode | Action |\n| ----- |:----:| ------------------ |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003edph\u003c/kbd\u003e  | Ⓝ | Toggle profiler highlights |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003edpp\u003c/kbd\u003e  | Ⓝ | Toggle profiler |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003eua\u003c/kbd\u003e | Ⓝ | Toggle animation |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003euA\u003c/kbd\u003e | Ⓝ | Toggle tabline |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003eub\u003c/kbd\u003e | Ⓝ | Toggle background dark/light |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003euc\u003c/kbd\u003e  | Ⓝ | Toggle conceal level |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003euC\u003c/kbd\u003e  | Ⓝ | Colorschemes |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003eud\u003c/kbd\u003e  | Ⓝ | Toggle buffer diagnostics |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003euD\u003c/kbd\u003e  | Ⓝ | Toggle text dim |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003euf\u003c/kbd\u003e | Ⓝ | Toggle format on Save |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003euF\u003c/kbd\u003e | Ⓝ | Toggle format on Save (Global) |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003eug\u003c/kbd\u003e | Ⓝ | Toggle indentation lines |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003euG\u003c/kbd\u003e | Ⓝ | Toggle git signs |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003euh\u003c/kbd\u003e | Ⓝ | Toggle inlay-hints |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003eui\u003c/kbd\u003e | Ⓝ | Inspect position |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003euI\u003c/kbd\u003e | Ⓝ | Inspect tree |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003eul\u003c/kbd\u003e | Ⓝ | Toggle line numbers |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003euL\u003c/kbd\u003e | Ⓝ | Toggle relative line numbers |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003eum\u003c/kbd\u003e | Ⓝ | Toggle markdown render |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003eun\u003c/kbd\u003e | Ⓝ | Dismiss all notifications |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003eup\u003c/kbd\u003e | Ⓝ | Disable auto-pairs |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003eur\u003c/kbd\u003e | Ⓝ | Redraw, clear hlsearch, and diff update |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003eus\u003c/kbd\u003e | Ⓝ | Toggle spell-checker |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003euS\u003c/kbd\u003e | Ⓝ | Toggle smooth scroll |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003euT\u003c/kbd\u003e | Ⓝ | Toggle tree-sitter |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003euw\u003c/kbd\u003e | Ⓝ | Toggle wrap |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003euz\u003c/kbd\u003e | Ⓝ | Toggle distraction-free zen writing |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003euZ\u003c/kbd\u003e | Ⓝ | Toggle window zoom |\n\n### Navigation\n\n| Key   | Mode | Action             | Plugin or Mapping |\n| ----- |:----:| ------------------ | ------ |\n| \u003ckbd\u003ej\u003c/kbd\u003e / \u003ckbd\u003ek\u003c/kbd\u003e | Ⓝ Ⓥ | Cursor moves through display-lines | \u003csmall\u003e`g` `j/k`\u003c/small\u003e |\n| \u003ckbd\u003e]i\u003c/kbd\u003e / \u003ckbd\u003e[i\u003c/kbd\u003e | Ⓝ Ⓥ | Jump to scope edges | \u003csmall\u003e[folke/snacks.nvim]\u003c/small\u003e |\n| \u003ckbd\u003egh\u003c/kbd\u003e / \u003ckbd\u003egl\u003c/kbd\u003e | Ⓝ Ⓥ | Easier line-wise movement | \u003csmall\u003e`g^` `g$`\u003c/small\u003e |\n| \u003ckbd\u003ezl\u003c/kbd\u003e / \u003ckbd\u003ezh\u003c/kbd\u003e | Ⓝ | Scroll horizontally and vertically wider | \u003csmall\u003e`z4` `l/h`\u003c/small\u003e |\n| \u003ckbd\u003eCtrl\u003c/kbd\u003e+\u003ckbd\u003ej\u003c/kbd\u003e | Ⓝ | Move to split below | \u003csmall\u003e`\u003cC-w\u003ej` or [christoomey/tmux-navigator]\u003c/small\u003e |\n| \u003ckbd\u003eCtrl\u003c/kbd\u003e+\u003ckbd\u003ek\u003c/kbd\u003e | Ⓝ | Move to upper split | \u003csmall\u003e`\u003cC-w\u003ek` or [christoomey/tmux-navigator]\u003c/small\u003e |\n| \u003ckbd\u003eCtrl\u003c/kbd\u003e+\u003ckbd\u003eh\u003c/kbd\u003e | Ⓝ | Move to left split | \u003csmall\u003e`\u003cC-w\u003eh` or [christoomey/tmux-navigator]\u003c/small\u003e |\n| \u003ckbd\u003eCtrl\u003c/kbd\u003e+\u003ckbd\u003el\u003c/kbd\u003e | Ⓝ | Move to right split | \u003csmall\u003e`\u003cC-w\u003el` or [christoomey/tmux-navigator]\u003c/small\u003e |\n| \u003ckbd\u003eReturn\u003c/kbd\u003e | Ⓝ | Toggle fold under cursor | \u003csmall\u003e`za`\u003c/small\u003e |\n| \u003ckbd\u003eShift\u003c/kbd\u003e+\u003ckbd\u003eReturn\u003c/kbd\u003e | Ⓝ | Focus the current fold by closing all others | \u003csmall\u003e`zMzv`\u003c/small\u003e |\n| \u003ckbd\u003eCtrl\u003c/kbd\u003e+\u003ckbd\u003ef\u003c/kbd\u003e | Ⓒ | Move cursor forwards in command | \u003ckbd\u003eRight\u003c/kbd\u003e |\n| \u003ckbd\u003eCtrl\u003c/kbd\u003e+\u003ckbd\u003eb\u003c/kbd\u003e | Ⓒ | Move cursor backwards in command | \u003ckbd\u003eLeft\u003c/kbd\u003e |\n| \u003ckbd\u003eCtrl\u003c/kbd\u003e+\u003ckbd\u003eh\u003c/kbd\u003e | Ⓒ | Move cursor to the beginning in command | \u003ckbd\u003eHome\u003c/kbd\u003e |\n| \u003ckbd\u003eCtrl\u003c/kbd\u003e+\u003ckbd\u003el\u003c/kbd\u003e | Ⓒ | Move cursor to the end in command | \u003ckbd\u003eEnd\u003c/kbd\u003e |\n| \u003ckbd\u003eCtrl\u003c/kbd\u003e+\u003ckbd\u003eTab\u003c/kbd\u003e | Ⓝ | Go to next tab | \u003csmall\u003e`:tabnext`\u003c/small\u003e |\n| \u003ckbd\u003eCtrl\u003c/kbd\u003e+\u003ckbd\u003eShift\u003c/kbd\u003e\u003ckbd\u003eTab\u003c/kbd\u003e | Ⓝ | Go to previous tab | \u003csmall\u003e`:tabprevious`\u003c/small\u003e |\n| \u003ckbd\u003eAlt\u003c/kbd\u003e+\u003ckbd\u003ej\u003c/kbd\u003e or \u003ckbd\u003e]\u003c/kbd\u003e | Ⓝ | Go to next tab | \u003csmall\u003e`:tabnext`\u003c/small\u003e |\n| \u003ckbd\u003eAlt\u003c/kbd\u003e+\u003ckbd\u003ek\u003c/kbd\u003e or \u003ckbd\u003e[\u003c/kbd\u003e | Ⓝ | Go to previous tab | \u003csmall\u003e`:tabprevious`\u003c/small\u003e |\n| \u003ckbd\u003eAlt\u003c/kbd\u003e+\u003ckbd\u003e{\u003c/kbd\u003e | Ⓝ | Move tab backward | \u003csmall\u003e`:-tabmove`\u003c/small\u003e |\n| \u003ckbd\u003eAlt\u003c/kbd\u003e+\u003ckbd\u003e}\u003c/kbd\u003e | Ⓝ | Move tab forward | \u003csmall\u003e`:+tabmove`\u003c/small\u003e |\n\n### Selection\n\n| Key   | Mode | Action             | Plugin or Mapping |\n| ----- |:----:| ------------------ | ------ |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e+\u003ckbd\u003eSpace\u003c/kbd\u003e | Ⓝ Ⓥ | Toggle visual-line mode | \u003csmall\u003e`V` / \u003ckbd\u003eEscape\u003c/kbd\u003e\u003c/small\u003e |\n| \u003ckbd\u003eCtrl\u003c/kbd\u003e+\u003ckbd\u003eSpace\u003c/kbd\u003e / \u003ckbd\u003eV\u003c/kbd\u003e | Ⓥ | Increment/shrink selection | \u003csmall\u003e[nvim-treesitter]\u003c/small\u003e |\n| \u003ckbd\u003evsp\u003c/kbd\u003e | Ⓝ | Select last paste | \u003csmall\u003e[config/keymaps.lua]\u003c/small\u003e |\n| \u003ckbd\u003esg\u003c/kbd\u003e | Ⓥ | Replace within selected area | \u003csmall\u003e[config/keymaps.lua]\u003c/small\u003e |\n| \u003ckbd\u003eCtrl\u003c/kbd\u003e+\u003ckbd\u003er\u003c/kbd\u003e | Ⓥ | Replace selection with step-by-step confirmation | \u003csmall\u003e[config/keymaps.lua]\u003c/small\u003e |\n| \u003ckbd\u003e\u003e\u003c/kbd\u003e / \u003ckbd\u003e\u003c\u003c/kbd\u003e | Ⓥ | Indent and re-select | \u003csmall\u003e[config/keymaps.lua]\u003c/small\u003e |\n| \u003ckbd\u003eTab\u003c/kbd\u003e / \u003ckbd\u003eShift\u003c/kbd\u003e+\u003ckbd\u003eTab\u003c/kbd\u003e | Ⓥ | Indent and re-select | \u003csmall\u003e[config/keymaps.lua]\u003c/small\u003e |\n| \u003ckbd\u003eI\u003c/kbd\u003e / \u003ckbd\u003egI\u003c/kbd\u003e / \u003ckbd\u003eA\u003c/kbd\u003e | Ⓥ | Force blockwise operation | \u003csmall\u003e[config/keymaps.lua]\u003c/small\u003e |\n\n### Jump To\n\n| Key   | Mode | Action             | Plugin or Mapping |\n| ----- |:----:| ------------------ | ------ |\n| \u003ckbd\u003e],\u003c/kbd\u003e or \u003ckbd\u003e[,\u003c/kbd\u003e | Ⓝ | Next/previous parameter | \u003csmall\u003e[akinsho/bufferline.nvim]\u003c/small\u003e |\n| \u003ckbd\u003e]q\u003c/kbd\u003e or \u003ckbd\u003e[q\u003c/kbd\u003e | Ⓝ | Next/previous on quick-fix | \u003csmall\u003e`:cnext` / `:cprev`\u003c/small\u003e |\n| \u003ckbd\u003e]a\u003c/kbd\u003e or \u003ckbd\u003e[a\u003c/kbd\u003e | Ⓝ | Next/previous on location-list | \u003csmall\u003e`:lnext` / `:lprev`\u003c/small\u003e |\n| \u003ckbd\u003e]d\u003c/kbd\u003e or \u003ckbd\u003e[d\u003c/kbd\u003e | Ⓝ | Next/previous diagnostics | \u003csmall\u003e[config/keymaps.lua]\u003c/small\u003e |\n| \u003ckbd\u003e]e\u003c/kbd\u003e or \u003ckbd\u003e[e\u003c/kbd\u003e | Ⓝ | Next/previous error | \u003csmall\u003e[config/keymaps.lua]\u003c/small\u003e |\n| \u003ckbd\u003e]w\u003c/kbd\u003e or \u003ckbd\u003e[w\u003c/kbd\u003e | Ⓝ | Next/previous warning | \u003csmall\u003e[config/keymaps.lua]\u003c/small\u003e |\n| \u003ckbd\u003e]b\u003c/kbd\u003e or \u003ckbd\u003e[b\u003c/kbd\u003e | Ⓝ | Next/previous buffer | \u003csmall\u003e[akinsho/bufferline.nvim]\u003c/small\u003e |\n| \u003ckbd\u003e]f\u003c/kbd\u003e or \u003ckbd\u003e[f\u003c/kbd\u003e | Ⓝ | Next/previous function start | \u003csmall\u003e[echasnovski/mini.ai]\u003c/small\u003e |\n| \u003ckbd\u003e]F\u003c/kbd\u003e or \u003ckbd\u003e[F\u003c/kbd\u003e | Ⓝ | Next/previous function end | \u003csmall\u003e[echasnovski/mini.ai]\u003c/small\u003e |\n| \u003ckbd\u003e]c\u003c/kbd\u003e or \u003ckbd\u003e[c\u003c/kbd\u003e | Ⓝ | Next/previous class start | \u003csmall\u003e[echasnovski/mini.ai]\u003c/small\u003e |\n| \u003ckbd\u003e]C\u003c/kbd\u003e or \u003ckbd\u003e[C\u003c/kbd\u003e | Ⓝ | Next/previous class end | \u003csmall\u003e[echasnovski/mini.ai]\u003c/small\u003e |\n| \u003ckbd\u003e]m\u003c/kbd\u003e or \u003ckbd\u003e[m\u003c/kbd\u003e | Ⓝ | Next/previous method start | \u003csmall\u003e[echasnovski/mini.ai]\u003c/small\u003e |\n| \u003ckbd\u003e]M\u003c/kbd\u003e or \u003ckbd\u003e[M\u003c/kbd\u003e | Ⓝ | Next/previous method end | \u003csmall\u003e[echasnovski/mini.ai]\u003c/small\u003e |\n| \u003ckbd\u003e]g\u003c/kbd\u003e or \u003ckbd\u003e[g\u003c/kbd\u003e | Ⓝ | Next/previous Git hunk | \u003csmall\u003e[lewis6991/gitsigns.nvim]\u003c/small\u003e |\n| \u003ckbd\u003e]i\u003c/kbd\u003e or \u003ckbd\u003e[i\u003c/kbd\u003e | Ⓝ | Next/previous indent scope | \u003csmall\u003e[echasnovski/mini.indentscope]\u003c/small\u003e |\n| \u003ckbd\u003e]t\u003c/kbd\u003e or \u003ckbd\u003e[t\u003c/kbd\u003e | Ⓝ | Next/previous TODO | \u003csmall\u003e[folke/todo-comments.nvim]\u003c/small\u003e |\n| \u003ckbd\u003e]z\u003c/kbd\u003e or \u003ckbd\u003e[z\u003c/kbd\u003e | Ⓝ | Next/previous whitespace error | \u003csmall\u003e[config/keymaps.lua]\u003c/small\u003e |\n\n### Buffers\n\n| Key   | Mode | Action             | Plugin or Mapping |\n| ----- |:----:| ------------------ | ------ |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e+\u003ckbd\u003ebd\u003c/kbd\u003e | Ⓝ | Delete buffer | \u003csmall\u003e[folke/snacks.nvim]\u003c/small\u003e |\n\n### Clipboard\n\n| Key   | Mode | Action             | Plugin or Mapping |\n| ----- |:----:| ------------------ | ------ |\n| \u003ckbd\u003ep\u003c/kbd\u003e or \u003ckbd\u003eP\u003c/kbd\u003e | Ⓥ | Paste without yank | \u003csmall\u003e`:let @+=@0`\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e+\u003ckbd\u003ey\u003c/kbd\u003e | Ⓝ | Copy relative file-path to clipboard | \u003csmall\u003e[config/keymaps.lua]\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e+\u003ckbd\u003eY\u003c/kbd\u003e | Ⓝ | Copy absolute file-path to clipboard | \u003csmall\u003e[config/keymaps.lua]\u003c/small\u003e |\n\n### Auto-Completion\n\n| Key   | Mode | Action             | Plugin or Mapping |\n| ----- |:----:| ------------------ | ------ |\n| \u003ckbd\u003eTab\u003c/kbd\u003e / \u003ckbd\u003eShift-Tab\u003c/kbd\u003e | Ⓘ Ⓢ | Navigate/open completion-menu | \u003csmall\u003e[nvim-cmp]\u003c/small\u003e |\n| \u003ckbd\u003eTab\u003c/kbd\u003e / \u003ckbd\u003eShift-Tab\u003c/kbd\u003e | Ⓘ Ⓢ | Navigate snippet placeholders | \u003csmall\u003e[L3MON4D3/LuaSnip]\u003c/small\u003e |\n| \u003ckbd\u003eCtrl\u003c/kbd\u003e+\u003ckbd\u003eSpace\u003c/kbd\u003e | Ⓘ | Open completion menu | \u003csmall\u003e[nvim-cmp]\u003c/small\u003e |\n| \u003ckbd\u003eEnter\u003c/kbd\u003e | Ⓘ | Select completion item or expand snippet | \u003csmall\u003e[nvim-cmp]\u003c/small\u003e |\n| \u003ckbd\u003eShift\u003c/kbd\u003e+\u003ckbd\u003eEnter\u003c/kbd\u003e | Ⓘ | Select and replace with completion item | \u003csmall\u003e[nvim-cmp]\u003c/small\u003e |\n| \u003ckbd\u003eCtrl\u003c/kbd\u003e+\u003ckbd\u003en\u003c/kbd\u003e/\u003ckbd\u003ep\u003c/kbd\u003e | Ⓘ | Movement in completion pop-up | \u003csmall\u003e[nvim-cmp]\u003c/small\u003e |\n| \u003ckbd\u003eCtrl\u003c/kbd\u003e+\u003ckbd\u003ef\u003c/kbd\u003e/\u003ckbd\u003eb\u003c/kbd\u003e | Ⓘ | Scroll documentation | \u003csmall\u003e[nvim-cmp]\u003c/small\u003e |\n| \u003ckbd\u003eCtrl\u003c/kbd\u003e+\u003ckbd\u003ed\u003c/kbd\u003e/\u003ckbd\u003eu\u003c/kbd\u003e | Ⓘ | Scroll candidates | \u003csmall\u003e[nvim-cmp]\u003c/small\u003e |\n| \u003ckbd\u003eCtrl\u003c/kbd\u003e+\u003ckbd\u003ee\u003c/kbd\u003e | Ⓘ | Abort selection and close pop-up | \u003csmall\u003e[nvim-cmp]\u003c/small\u003e |\n| \u003ckbd\u003eCtrl\u003c/kbd\u003e+\u003ckbd\u003el\u003c/kbd\u003e | Ⓘ | Expand snippet at cursor | \u003csmall\u003e[L3MON4D3/LuaSnip]\u003c/small\u003e |\n| \u003ckbd\u003eCtrl\u003c/kbd\u003e+\u003ckbd\u003ec\u003c/kbd\u003e | Ⓘ | Close completion menu | \u003csmall\u003e[nvim-cmp]\u003c/small\u003e |\n\n### LSP\n\n| Key   | Mode | Action             | Plugin or Mapping |\n| ----- |:----:| ------------------ | ------ |\n| \u003ckbd\u003egr\u003c/kbd\u003e | Ⓝ | Go to references | \u003csmall\u003e[plugins/lsp/keymaps.lua]\u003c/small\u003e |\n| \u003ckbd\u003egR\u003c/kbd\u003e | Ⓝ | List references with Trouble | \u003csmall\u003e[folke/trouble.nvim]\u003c/small\u003e |\n| \u003ckbd\u003egd\u003c/kbd\u003e | Ⓝ | Go to definition | \u003csmall\u003e[plugins/lsp/keymaps.lua]\u003c/small\u003e |\n| \u003ckbd\u003egD\u003c/kbd\u003e | Ⓝ | Go to declaration | \u003csmall\u003e[plugins/lsp/keymaps.lua]\u003c/small\u003e |\n| \u003ckbd\u003egI\u003c/kbd\u003e | Ⓝ | Go to implementation | \u003csmall\u003e[plugins/lsp/keymaps.lua]\u003c/small\u003e |\n| \u003ckbd\u003egy\u003c/kbd\u003e | Ⓝ | Go to type definition | \u003csmall\u003e[plugins/lsp/keymaps.lua]\u003c/small\u003e |\n| \u003ckbd\u003eK\u003c/kbd\u003e  | Ⓝ | Show hover help or collapsed fold | \u003csmall\u003e[plugins/lsp/keymaps.lua]\u003c/small\u003e |\n| \u003ckbd\u003egK\u003c/kbd\u003e | Ⓝ | Show signature help | \u003csmall\u003e[plugins/lsp/keymaps.lua]\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003ecr\u003c/kbd\u003e  | Ⓝ | Rename | \u003csmall\u003e[plugins/lsp/keymaps.lua]\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003ece\u003c/kbd\u003e  | Ⓝ | Open diagnostics window | \u003csmall\u003e[plugins/lsp/keymaps.lua]\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003ecs\u003c/kbd\u003e  | Ⓝ | Formatter menu selection | \u003csmall\u003e[plugins/lsp/keymaps.lua]\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003eca\u003c/kbd\u003e  | Ⓝ Ⓥ | Code action | \u003csmall\u003e[plugins/lsp/keymaps.lua]\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003ecA\u003c/kbd\u003e  | Ⓝ | Source action | \u003csmall\u003e[plugins/lsp/keymaps.lua]\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003ecli\u003c/kbd\u003e  | Ⓝ | LSP incoming calls | \u003csmall\u003e[plugins/lsp/keymaps.lua]\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003eclo\u003c/kbd\u003e  | Ⓝ | LSP outgoing calls | \u003csmall\u003e[plugins/lsp/keymaps.lua]\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003efwa\u003c/kbd\u003e | Ⓝ | Add workspace folder | \u003csmall\u003e[plugins/lsp/keymaps.lua]\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003efwr\u003c/kbd\u003e | Ⓝ | Remove workspace folder | \u003csmall\u003e[plugins/lsp/keymaps.lua]\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003efwl\u003c/kbd\u003e | Ⓝ | List workspace folders | \u003csmall\u003e[plugins/lsp/keymaps.lua]\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003ecgd\u003c/kbd\u003e | Ⓝ | Glance definitions | \u003csmall\u003e[dnlhc/glance.nvim]\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003ecgr\u003c/kbd\u003e | Ⓝ | Glance references | \u003csmall\u003e[dnlhc/glance.nvim]\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003ecgy\u003c/kbd\u003e | Ⓝ | Glance type definitions | \u003csmall\u003e[dnlhc/glance.nvim]\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003ecgi\u003c/kbd\u003e | Ⓝ | Glance implementations | \u003csmall\u003e[dnlhc/glance.nvim]\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003ecgu\u003c/kbd\u003e | Ⓝ | Glance resume | \u003csmall\u003e[dnlhc/glance.nvim]\u003c/small\u003e |\n\n### Diagnostics\n\n| Key   | Mode | Action             | Plugin or Mapping |\n| ----- |:----:| ------------------ | ------ |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003eud\u003c/kbd\u003e  | Ⓝ | Toggle buffer diagnostics | \u003csmall\u003e[plugins/lsp/keymaps.lua]\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003ext\u003c/kbd\u003e | Ⓝ | List TODO with Trouble | \u003csmall\u003e[folke/todo-comments.nvim]\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003exT\u003c/kbd\u003e | Ⓝ | List TODO/FIXME with Trouble | \u003csmall\u003e[folke/todo-comments.nvim]\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003est\u003c/kbd\u003e | Ⓝ | Select TODO with Telescope | \u003csmall\u003e[folke/todo-comments.nvim]\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003esT\u003c/kbd\u003e | Ⓝ | Select TODO/FIXME with Telescope | \u003csmall\u003e[folke/todo-comments.nvim]\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003exx\u003c/kbd\u003e | Ⓝ | Toggle Trouble | \u003csmall\u003e[folke/trouble.nvim]\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003exd\u003c/kbd\u003e | Ⓝ | Toggle Trouble document | \u003csmall\u003e[folke/trouble.nvim]\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003exw\u003c/kbd\u003e | Ⓝ | Toggle Trouble workspace | \u003csmall\u003e[folke/trouble.nvim]\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003exq\u003c/kbd\u003e | Ⓝ | Toggle Quickfix via Trouble | \u003csmall\u003e[folke/trouble.nvim]\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003exl\u003c/kbd\u003e | Ⓝ | Toggle Locationlist via Trouble | \u003csmall\u003e[folke/trouble.nvim]\u003c/small\u003e |\n\n### Coding\n\n| Key   | Mode | Action             | Plugin or Mapping |\n| ----- |:----:| ------------------ | ------ |\n| \u003ckbd\u003eCtrl\u003c/kbd\u003e+\u003ckbd\u003eq\u003c/kbd\u003e | Ⓝ | Start recording macro | \u003csmall\u003e`q`\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003ecf\u003c/kbd\u003e | Ⓝ Ⓥ | Format | \u003csmall\u003e[plugins/formatting.lua]\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003ecF\u003c/kbd\u003e | Ⓝ Ⓥ | Format injected langs | \u003csmall\u003e[plugins/formatting.lua]\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003ecc\u003c/kbd\u003e | Ⓝ | Generate doc annotations | \u003csmall\u003e[danymat/neogen]\u003c/small\u003e |\n| \u003ckbd\u003eShift\u003c/kbd\u003e+\u003ckbd\u003eReturn\u003c/kbd\u003e | Ⓘ | Start new line from any cursor position | \u003csmall\u003e`\u003cC-o\u003eo`\u003c/small\u003e |\n| \u003ckbd\u003e]\u003c/kbd\u003e \u003ckbd\u003eSpace\u003c/kbd\u003e | Ⓝ | Add new line below | \u003csmall\u003e`o\u003cEsc\u003e`\u003c/small\u003e |\n| \u003ckbd\u003e[\u003c/kbd\u003e \u003ckbd\u003eSpace\u003c/kbd\u003e | Ⓝ | Add new line above | \u003csmall\u003e`O\u003cEsc\u003e`\u003c/small\u003e |\n| \u003ckbd\u003egc\u003c/kbd\u003e | Ⓝ Ⓥ | Comment prefix | \u003csmall\u003e[numToStr/Comment.nvim]\u003c/small\u003e |\n| \u003ckbd\u003egcc\u003c/kbd\u003e | Ⓝ Ⓥ | Toggle comments | \u003csmall\u003e[numToStr/Comment.nvim]\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e+\u003ckbd\u003ej\u003c/kbd\u003e or \u003ckbd\u003ek\u003c/kbd\u003e | Ⓝ Ⓥ | Move lines down/up | \u003csmall\u003e`:m` … |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e+\u003ckbd\u003ev\u003c/kbd\u003e | Ⓝ Ⓥ | Toggle line-wise comments | \u003csmall\u003e[numToStr/Comment.nvim]\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e+\u003ckbd\u003eV\u003c/kbd\u003e | Ⓝ Ⓥ | Toggle block-wise comments | \u003csmall\u003e[numToStr/Comment.nvim]\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e+\u003ckbd\u003edd\u003c/kbd\u003e | Ⓝ Ⓥ | Duplicate line or selection | \u003csmall\u003e[config/keymaps.lua]\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e+\u003ckbd\u003ecw\u003c/kbd\u003e | Ⓝ | Remove all spaces at EOL | \u003csmall\u003e[echasnovski/mini.trailspace]\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e+\u003ckbd\u003ecid\u003c/kbd\u003e | Ⓝ | LazyDev | \u003csmall\u003e[folke/lazydev.nvim]\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e+\u003ckbd\u003ecif\u003c/kbd\u003e | Ⓝ | LazyFormatterInfo | \u003csmall\u003e[LazyVim/LazyVim]\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e+\u003ckbd\u003ecir\u003c/kbd\u003e | Ⓝ | LazyRoot | \u003csmall\u003e[LazyVim/LazyVim]\u003c/small\u003e |\n| \u003ckbd\u003esj\u003c/kbd\u003e / \u003ckbd\u003esk\u003c/kbd\u003e | Ⓝ | Join/split arguments | \u003csmall\u003e[echasnovski/mini.splitjoin]\u003c/small\u003e |\n\n### Search, Substitute, Diff\n\n| Key   | Mode | Action             | Plugin or Mapping |\n| ----- |:----:| ------------------ | ------ |\n| \u003ckbd\u003e\\*\u003c/kbd\u003e / \u003ckbd\u003e#\u003c/kbd\u003e | Ⓝ Ⓥ | Search partial words | \u003csmall\u003e`g*` / `g#`\u003c/small\u003e |\n| \u003ckbd\u003eg\\*\u003c/kbd\u003e / \u003ckbd\u003eg#\u003c/kbd\u003e | Ⓝ Ⓥ | Search whole-word forward/backward | \u003csmall\u003e`*` / `#`\u003c/small\u003e |\n| \u003ckbd\u003eCtrl\u003c/kbd\u003e+\u003ckbd\u003ec\u003c/kbd\u003e | Ⓝ | Change inner word | \u003csmall\u003e`ciw`\u003c/small\u003e |\n| \u003ckbd\u003eEscape\u003c/kbd\u003e | Ⓝ | Clear search highlight | \u003csmall\u003e`:nohlsearch`\u003c/small\u003e |\n| \u003ckbd\u003eBackspace\u003c/kbd\u003e | Ⓝ | Match bracket | \u003csmall\u003e`%`\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e+\u003ckbd\u003ebf\u003c/kbd\u003e | Ⓝ | Diff current windows in tab | \u003csmall\u003e`windo diffthis`\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e+\u003ckbd\u003ebF\u003c/kbd\u003e | Ⓝ | External diff | \u003csmall\u003e`!vim.g.diffprg % #`\u003c/small\u003e |\n| \u003ckbd\u003ess\u003c/kbd\u003e | Ⓝ Ⓥ Ⓞ | Flash jump | \u003csmall\u003e[folke/flash.nvim]\u003c/small\u003e |\n| \u003ckbd\u003eS\u003c/kbd\u003e | Ⓝ Ⓥ Ⓞ | Flash treesitter | \u003csmall\u003e[folke/flash.nvim]\u003c/small\u003e |\n| \u003ckbd\u003er\u003c/kbd\u003e | Ⓞ | Flash remote | \u003csmall\u003e[folke/flash.nvim]\u003c/small\u003e |\n| \u003ckbd\u003eR\u003c/kbd\u003e | Ⓥ Ⓞ | Flash treesitter search | \u003csmall\u003e[folke/flash.nvim]\u003c/small\u003e |\n| \u003ckbd\u003eCtrl\u003c/kbd\u003e+\u003ckbd\u003es\u003c/kbd\u003e | Ⓒ | Toggle flash in search input | \u003csmall\u003e[folke/flash.nvim]\u003c/small\u003e |\n\n### Command \u0026 History\n\n| Key   | Mode | Action             | Plugin or Mapping |\n| ----- |:----:| ------------------ | ------ |\n| \u003ckbd\u003eg!\u003c/kbd\u003e | Ⓝ | Read vim command into buffer | \u003csmall\u003e`:put=execute('⌴')`\u003c/small\u003e |\n| \u003ckbd\u003eCtrl\u003c/kbd\u003e+\u003ckbd\u003en\u003c/kbd\u003e / \u003ckbd\u003ep\u003c/kbd\u003e | Ⓒ | Switch history search pairs | \u003ckbd\u003e↓\u003c/kbd\u003e / \u003ckbd\u003e↑\u003c/kbd\u003e |\n| \u003ckbd\u003e↓\u003c/kbd\u003e / \u003ckbd\u003e↑\u003c/kbd\u003e | Ⓒ | Switch history search pairs | \u003csmall\u003e`Ctrl` `n`/`p`\u003c/small\u003e |\n\n### File Operations\n\n| Key   | Mode | Action             | Plugin or Mapping |\n| ----- |:----:| ------------------ | ------ |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e+\u003ckbd\u003ecd\u003c/kbd\u003e | Ⓝ | Switch tab to the directory of current buffer | \u003csmall\u003e`:tcd %:p:h`\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e+\u003ckbd\u003ew\u003c/kbd\u003e or \u003ckbd\u003eM\u003c/kbd\u003e+\u003ckbd\u003es\u003c/kbd\u003e | Ⓝ | Write buffer to file | \u003csmall\u003e`:write`\u003c/small\u003e |\n| \u003ckbd\u003eCtrl\u003c/kbd\u003e+\u003ckbd\u003es\u003c/kbd\u003e | Ⓝ Ⓥ Ⓒ | Write buffer to file | \u003csmall\u003e`:write`\u003c/small\u003e |\n\n### Window Management\n\n| Key   | Mode | Action             | Plugin or Mapping |\n| ----- |:----:| ------------------ | ------ |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003eqq\u003c/kbd\u003e | Ⓝ | Quit all and exit | \u003csmall\u003e`:quitall`\u003c/small\u003e |\n| \u003ckbd\u003es]\u003c/kbd\u003e | Ⓝ | Rotate window placement | \u003csmall\u003e`C-w` `x`\u003c/small\u003e |\n| \u003ckbd\u003esp\u003c/kbd\u003e | Ⓝ | Choose a window to edit | \u003csmall\u003e[s1n7ax/nvim-window-picker]\u003c/small\u003e |\n| \u003ckbd\u003esw\u003c/kbd\u003e | Ⓝ | Switch editing window with selected | \u003csmall\u003e[s1n7ax/nvim-window-picker]\u003c/small\u003e |\n| \u003ckbd\u003esv\u003c/kbd\u003e | Ⓝ | Horizontal split | \u003csmall\u003e`:split`\u003c/small\u003e |\n| \u003ckbd\u003esg\u003c/kbd\u003e | Ⓝ | Vertical split | \u003csmall\u003e`:vsplit`\u003c/small\u003e |\n| \u003ckbd\u003est\u003c/kbd\u003e | Ⓝ | Open new tab | \u003csmall\u003e`:tabnew`\u003c/small\u003e |\n| \u003ckbd\u003eso\u003c/kbd\u003e | Ⓝ | Close other windows | \u003csmall\u003e`:only`\u003c/small\u003e |\n| \u003ckbd\u003esb\u003c/kbd\u003e | Ⓝ | Previous buffer | \u003csmall\u003e`:b#`\u003c/small\u003e |\n| \u003ckbd\u003esc\u003c/kbd\u003e | Ⓝ | Close current buffer | \u003csmall\u003e`:close`\u003c/small\u003e |\n| \u003ckbd\u003esd\u003c/kbd\u003e | Ⓝ | Delete buffer | \u003csmall\u003e`:bdelete`\u003c/small\u003e |\n| \u003ckbd\u003esq\u003c/kbd\u003e | Ⓝ | Quit window (if last window, quit nvim) | \u003csmall\u003e`:quit`\u003c/small\u003e |\n| \u003ckbd\u003esx\u003c/kbd\u003e | Ⓝ | Delete buffer, leave blank window | \u003csmall\u003e`:enew │ bdelete`\u003c/small\u003e |\n| \u003ckbd\u003esz\u003c/kbd\u003e | Ⓝ | Toggle window zoom | \u003csmall\u003e`:vertical resize │ resize`\u003c/small\u003e |\n| \u003ckbd\u003esh\u003c/kbd\u003e | Ⓝ | Toggle colorscheme background=dark/light | \u003csmall\u003e`:set background` … |\n\n### Plugins\n\n| Key   | Mode | Action             | Plugin or Mapping |\n| ----- |:----:| ------------------ | ------ |\n| \u003ckbd\u003e;\u003c/kbd\u003e+\u003ckbd\u003ec\u003c/kbd\u003e | Ⓝ | Open context-menu | \u003csmall\u003e[lua/rafi/util/contextmenu.lua]\u003c/small\u003e |\n| \u003ckbd\u003eg\u003c/kbd\u003e\u003ckbd\u003eCtrl\u003c/kbd\u003e+\u003ckbd\u003eo\u003c/kbd\u003e | Ⓝ | Navigate to previous file on jumplist | \u003csmall\u003e[util/edit.lua]\u003c/small\u003e |\n| \u003ckbd\u003eg\u003c/kbd\u003e\u003ckbd\u003eCtrl\u003c/kbd\u003e+\u003ckbd\u003ei\u003c/kbd\u003e | Ⓝ | Navigate to next file on jumplist | \u003csmall\u003e[util/edit.lua]\u003c/small\u003e |\n| \u003ckbd\u003eCtrl\u003c/kbd\u003e+\u003ckbd\u003e/\u003c/kbd\u003e | Ⓝ | Toggle terminal | \u003csmall\u003e[folke/snacks.nvim]\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003el\u003c/kbd\u003e | Ⓝ | Open Lazy | \u003csmall\u003e[folke/lazy.nvim]\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003eo\u003c/kbd\u003e | Ⓝ | Open Outline side | \u003csmall\u003e[hedyhli/outline.nvim]\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003e?\u003c/kbd\u003e | Ⓝ | Open the macOS dictionary on current word | \u003csmall\u003e`:!open dict://`\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003ecp\u003c/kbd\u003e | Ⓝ | Toggle Markdown preview | \u003csmall\u003eiamcco/markdown-preview.nvim\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003emc\u003c/kbd\u003e | Ⓝ | Open color-picker | \u003csmall\u003e[uga-rosa/ccc.nvim]\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003ett\u003c/kbd\u003e | Ⓝ | Open terminal (root dir) | \u003csmall\u003e[config/keymaps.lua]\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003etT\u003c/kbd\u003e | Ⓝ | Open terminal (cwd) | \u003csmall\u003e[config/keymaps.lua]\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003egt\u003c/kbd\u003e | Ⓝ | Open Lazygit (root dir) | \u003csmall\u003e[config/keymaps.lua]\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003egT\u003c/kbd\u003e | Ⓝ | Open Lazygit (cwd) | \u003csmall\u003e[config/keymaps.lua]\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003egF\u003c/kbd\u003e | Ⓝ | Open Lazygit on current file history | \u003csmall\u003e[config/keymaps.lua]\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003egl\u003c/kbd\u003e | Ⓝ | Open Lazygit log | \u003csmall\u003e[config/keymaps.lua]\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003egL\u003c/kbd\u003e | Ⓝ | Open Lazygit log (cwd) | \u003csmall\u003e[config/keymaps.lua]\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003egb\u003c/kbd\u003e | Ⓝ | Git blame | \u003csmall\u003e[FabijanZulj/blame.nvim]\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003egB\u003c/kbd\u003e | Ⓝ | Git blame in window | \u003csmall\u003e[FabijanZulj/blame.nvim]\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003egm\u003c/kbd\u003e | Ⓝ | Reveal commit under cursor | \u003csmall\u003e[config/keymaps.lua]\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003ego\u003c/kbd\u003e | Ⓝ Ⓥ | Open source-code URL in browser | \u003csmall\u003e[config/keymaps.lua]\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003egY\u003c/kbd\u003e | Ⓝ Ⓥ | Copy source-code URL | \u003csmall\u003e[config/keymaps.lua]\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003egu\u003c/kbd\u003e | Ⓝ | Open undo-tree | \u003csmall\u003e[mbbill/undotree]\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003emg\u003c/kbd\u003e | Ⓝ | Open Neogit | \u003csmall\u003e[NeogitOrg/neogit]\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003eml\u003c/kbd\u003e | Ⓝ | Append modeline to end of buffer | \u003csmall\u003e[config/keymaps.lua]\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003emda\u003c/kbd\u003e | Ⓥ | Sequentially mark region for diff | \u003csmall\u003e[AndrewRadev/linediff.vim]\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003emdf\u003c/kbd\u003e | Ⓥ | Mark region for diff and compare if more than one | \u003csmall\u003e[AndrewRadev/linediff.vim]\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003emds\u003c/kbd\u003e | Ⓝ | Shows the comparison for all marked regions | \u003csmall\u003e[AndrewRadev/linediff.vim]\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003emdr\u003c/kbd\u003e | Ⓝ | Removes the signs denoting the diff regions | \u003csmall\u003e[AndrewRadev/linediff.vim]\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003emh\u003c/kbd\u003e | Ⓝ | Open HTTP Rest UI | \u003csmall\u003e[rest-nvim/rest.nvim]\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003emt\u003c/kbd\u003e | Ⓝ Ⓥ | Toggle highlighted word | \u003csmall\u003e[t9md/vim-quickhl]\u003c/small\u003e |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003emo\u003c/kbd\u003e | Ⓝ | Update Markdown TOC | \u003csmall\u003e[mzlogin/vim-markdown-toc]\u003c/small\u003e |\n\n#### Plugin: Mini.Surround\n\nSee [echasnovski/mini.surround] for more mappings and usage information.\n\n| Key            | Mode  | Action                       |\n| -------------- |:-----:| ---------------------------- |\n| \u003ckbd\u003esa\u003c/kbd\u003e \u0026 movement  | Ⓝ Ⓥ | Add surrounding |\n| \u003ckbd\u003ecs\u003c/kbd\u003e \u0026 movement  | Ⓝ   | Replace surrounding |\n| \u003ckbd\u003eds\u003c/kbd\u003e \u0026 movement  | Ⓝ   | Delete surrounding |\n| \u003ckbd\u003egzf\u003c/kbd\u003e \u0026 movement | Ⓝ   | Find surrounding (to the right) |\n| \u003ckbd\u003egzF\u003c/kbd\u003e \u0026 movement | Ⓝ   | Find surrounding (to the left) |\n| \u003ckbd\u003egzh\u003c/kbd\u003e \u0026 movement | Ⓝ   | Highlight surrounding |\n| \u003ckbd\u003egzn\u003c/kbd\u003e \u0026 movement | Ⓝ   | Update neighbor lines |\n\n#### Plugin: Gitsigns\n\nSee [lewis6991/gitsigns.nvim] for more mappings and usage information.\n\n| Key   | Mode | Action             |\n| ----- |:----:| ------------------ |\n| \u003ckbd\u003e]g\u003c/kbd\u003e or \u003ckbd\u003e]g\u003c/kbd\u003e | Ⓝ | Next/previous Git hunk |\n| \u003ckbd\u003egs\u003c/kbd\u003e                  | Ⓝ | Preview hunk |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003ehp\u003c/kbd\u003e | Ⓝ | Preview hunk inline |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003ehb\u003c/kbd\u003e | Ⓝ | Blame line |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003ehs\u003c/kbd\u003e | Ⓝ Ⓥ | Stage hunk |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003ehr\u003c/kbd\u003e | Ⓝ Ⓥ | Reset hunk |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003ehu\u003c/kbd\u003e | Ⓝ | Undo stage hunk |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003ehS\u003c/kbd\u003e | Ⓝ | Stage buffer |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003ehR\u003c/kbd\u003e | Ⓝ | Reset buffer |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003ehd\u003c/kbd\u003e | Ⓝ | Diff against the index |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003ehD\u003c/kbd\u003e | Ⓝ | Diff against the last commit |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003ehw\u003c/kbd\u003e | Ⓝ | Toggle word diff |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003ehl\u003c/kbd\u003e | Ⓝ | Publish hunks to location-list |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003ehtb\u003c/kbd\u003e | Ⓝ | Toggle git current line blame |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003ehtd\u003c/kbd\u003e | Ⓝ | Toggle git deleted |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003ehtw\u003c/kbd\u003e | Ⓝ | Toggle git word diff |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003ehtl\u003c/kbd\u003e | Ⓝ | Toggle git line highlight |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003ehtn\u003c/kbd\u003e | Ⓝ | Toggle git number highlight |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003ehts\u003c/kbd\u003e | Ⓝ | Toggle git signs |\n| \u003ckbd\u003eih\u003c/kbd\u003e                  | Ⓞ | Select inner hunk operator |\n\n#### Plugin: Diffview\n\nSee [sindrets/diffview.nvim] for more mappings and usage information.\n\n| Key   | Mode | Action |\n| ----- |:----:| ------------------ |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003egd\u003c/kbd\u003e | Ⓝ | Diff view file history |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003egv\u003c/kbd\u003e | Ⓝ | Diff view open |\n| | | \u0026nbsp; |\n| **Within _diffview_ \"view\" window** | | \u0026nbsp; |\n| | | \u0026nbsp; |\n| \u003ckbd\u003eTab\u003c/kbd\u003e / \u003ckbd\u003eShift\u003c/kbd\u003e+\u003ckbd\u003eTab\u003c/kbd\u003e | Ⓝ | Select next/previous entry |\n| \u003ckbd\u003e;\u003c/kbd\u003e \u003ckbd\u003ea\u003c/kbd\u003e    | Ⓝ | Focus file |\n| \u003ckbd\u003e;\u003c/kbd\u003e \u003ckbd\u003ee\u003c/kbd\u003e    | Ⓝ | Toggle files panel |\n| | | \u0026nbsp; |\n| **Within _diffview_ \"file\" panel** | | \u0026nbsp; |\n| | | \u0026nbsp; |\n| \u003ckbd\u003eq\u003c/kbd\u003e                 | Ⓝ | Close |\n| \u003ckbd\u003eh\u003c/kbd\u003e                 | Ⓝ | Previous entry |\n| \u003ckbd\u003eo\u003c/kbd\u003e                 | Ⓝ | Focus entry |\n| \u003ckbd\u003egf\u003c/kbd\u003e                | Ⓝ | Open file |\n| \u003ckbd\u003esg\u003c/kbd\u003e                | Ⓝ | Open file in split |\n| \u003ckbd\u003est\u003c/kbd\u003e                | Ⓝ | Open file in new tab |\n| \u003ckbd\u003eCtrl\u003c/kbd\u003e+\u003ckbd\u003er\u003c/kbd\u003e | Ⓝ | Refresh files |\n| \u003ckbd\u003e;\u003c/kbd\u003e \u003ckbd\u003ee\u003c/kbd\u003e    | Ⓝ | Toggle panel |\n| | | \u0026nbsp; |\n| **Within _diffview_ \"history\" panel** | | \u0026nbsp; |\n| | | \u0026nbsp; |\n| \u003ckbd\u003eq\u003c/kbd\u003e                 | Ⓝ | Close diffview |\n| \u003ckbd\u003eo\u003c/kbd\u003e                 | Ⓝ | Focus entry |\n| \u003ckbd\u003eO\u003c/kbd\u003e                 | Ⓝ | Show options |\n\n#### Plugin: Neo-Tree\n\nSee [nvim-neo-tree/neo-tree.nvim] for more mappings and usage information.\n\n| Key   | Mode | Action             |\n| ----- |:----:| ------------------ |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003ee\u003c/kbd\u003e/\u003ckbd\u003efe\u003c/kbd\u003e | Ⓝ | Toggle file explorer (root) |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e \u003ckbd\u003eE\u003c/kbd\u003e/\u003ckbd\u003efE\u003c/kbd\u003e | Ⓝ | Toggle file explorer (cwd) |\n| \u003ckbd\u003ege\u003c/kbd\u003e | Ⓝ | Open Git explorer |\n| \u003ckbd\u003ebe\u003c/kbd\u003e | Ⓝ | Open Buffer explorer |\n| \u003ckbd\u003e;a\u003c/kbd\u003e | Ⓝ | Reveal in file explorer |\n| \u003ckbd\u003e;A\u003c/kbd\u003e | Ⓝ | Reveal in file explorer (cwd) |\n| | | \u0026nbsp; |\n| **Within _Neo-Tree_ window** | | \u0026nbsp; |\n| | | \u0026nbsp; |\n| \u003ckbd\u003eg?\u003c/kbd\u003e | Ⓝ | Show help |\n| \u003ckbd\u003eq\u003c/kbd\u003e | Ⓝ | Close window |\n| \u003ckbd\u003ej\u003c/kbd\u003e or \u003ckbd\u003ek\u003c/kbd\u003e | Ⓝ | Move up and down the tree |\n| \u003ckbd\u003eTab\u003c/kbd\u003e or \u003ckbd\u003eShift\u003c/kbd\u003e+\u003ckbd\u003eTab\u003c/kbd\u003e | Ⓝ | Next or previous source |\n| \u003ckbd\u003e]g\u003c/kbd\u003e or \u003ckbd\u003e[g\u003c/kbd\u003e | Ⓝ | Jump to next/previous git modified node |\n| \u003ckbd\u003el\u003c/kbd\u003e | Ⓝ | Toggle collapse/expand directory or open file |\n| \u003ckbd\u003eh\u003c/kbd\u003e | Ⓝ | Collapse directory tree |\n| \u003ckbd\u003eReturn\u003c/kbd\u003e | Ⓝ | Select window to open file |\n| \u003ckbd\u003egr\u003c/kbd\u003e | Ⓝ | Grep in current position |\n| \u003ckbd\u003egf\u003c/kbd\u003e | Ⓝ | Find files in current position |\n| \u003ckbd\u003e.\u003c/kbd\u003e | Ⓝ | Set as root directory |\n| \u003ckbd\u003eBackspace\u003c/kbd\u003e | Ⓝ | Change into parent directory |\n| \u003ckbd\u003esv\u003c/kbd\u003e or \u003ckbd\u003eS\u003c/kbd\u003e | Ⓝ | Open file in a horizontal split |\n| \u003ckbd\u003esg\u003c/kbd\u003e or \u003ckbd\u003es\u003c/kbd\u003e | Ⓝ | Open file in a vertical split |\n| \u003ckbd\u003est\u003c/kbd\u003e or \u003ckbd\u003et\u003c/kbd\u003e | Ⓝ | Open file in new tab |\n| \u003ckbd\u003ep\u003c/kbd\u003e | Ⓝ | Preview toggle |\n| \u003ckbd\u003ea\u003c/kbd\u003e | Ⓝ | Create new directories and/or files |\n| \u003ckbd\u003eN\u003c/kbd\u003e | Ⓝ | Create new directory |\n| \u003ckbd\u003er\u003c/kbd\u003e | Ⓝ | Rename file or directory |\n| \u003ckbd\u003edd\u003c/kbd\u003e | Ⓝ | Delete |\n| \u003ckbd\u003ec\u003c/kbd\u003e / \u003ckbd\u003em\u003c/kbd\u003e | Ⓝ | Copy/move |\n| \u003ckbd\u003ey\u003c/kbd\u003e / \u003ckbd\u003ex\u003c/kbd\u003e / \u003ckbd\u003eP\u003c/kbd\u003e | Ⓝ | Clipboard copy/cut/paste |\n| \u003ckbd\u003e!\u003c/kbd\u003e | Ⓝ | Filter |\n| \u003ckbd\u003eD\u003c/kbd\u003e | Ⓝ | Filter directories |\n| \u003ckbd\u003e#\u003c/kbd\u003e | Ⓝ | Fuzzy sorter |\n| \u003ckbd\u003eF\u003c/kbd\u003e | Ⓝ | Filter on submit |\n| \u003ckbd\u003eCtrl\u003c/kbd\u003e+\u003ckbd\u003ec\u003c/kbd\u003e | Ⓝ | Clear filter |\n| \u003ckbd\u003eCtrl\u003c/kbd\u003e+\u003ckbd\u003er\u003c/kbd\u003e or \u003ckbd\u003eR\u003c/kbd\u003e | Ⓝ | Refresh |\n| \u003ckbd\u003efi\u003c/kbd\u003e / \u003ckbd\u003efe\u003c/kbd\u003e | Ⓝ | Include/exclude |\n| \u003ckbd\u003eH\u003c/kbd\u003e | Ⓝ | Toggle hidden files |\n| \u003ckbd\u003ee\u003c/kbd\u003e | Ⓝ | Toggle auto-expand window width |\n| \u003ckbd\u003ew\u003c/kbd\u003e | Ⓝ | Toggle window width |\n| \u003ckbd\u003ez\u003c/kbd\u003e | Ⓝ | Collapse all nodes |\n\n#### Plugin: Marks\n\nSee [chentau/marks.nvim] for more mappings and usage information.\n\n| Key   | Mode | Action |\n| ----- |:----:| ------------------ |\n| \u003ckbd\u003em,\u003c/kbd\u003e | Ⓝ | Set the next available alphabetical (lowercase) mark |\n| \u003ckbd\u003em;\u003c/kbd\u003e | Ⓝ | Toggle the next available mark at the current line |\n| \u003ckbd\u003em\u003c/kbd\u003e \u003ckbd\u003ea-z\u003c/kbd\u003e | Ⓝ | Set mark |\n| \u003ckbd\u003edm\u003c/kbd\u003e \u003ckbd\u003ea-z\u003c/kbd\u003e | Ⓝ | Remove mark |\n| \u003ckbd\u003edm-\u003c/kbd\u003e | Ⓝ | Delete all marks on the current line |\n| \u003ckbd\u003edm\\\u003cSpace\u003e\u003c/kbd\u003e | Ⓝ | Delete all marks in the current buffer |\n| \u003ckbd\u003em]\u003c/kbd\u003e | Ⓝ | Move to next mark |\n| \u003ckbd\u003em[\u003c/kbd\u003e | Ⓝ | Move to previous mark |\n| \u003ckbd\u003em:\u003c/kbd\u003e \u003ckbd\u003ea-z\u003c/kbd\u003e | Ⓝ | Preview mark |\n| \u003ckbd\u003em/\u003c/kbd\u003e | Ⓝ | List marks from all opened buffers |\n\n#### Plugin: Zk\n\nSee [zk-org/zk-nvim] and [zk](https://github.com/zk-org/zk) for\nmore mappings and usage information.\n\n| Key                            | Mode | Action |\n| ------------------------------ |:----:| ----------------------------------- |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e+\u003ckbd\u003ezn\u003c/kbd\u003e | Ⓝ | Ask for title and create new note |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e+\u003ckbd\u003ezo\u003c/kbd\u003e | Ⓝ | Browse notes sorted by modification time |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e+\u003ckbd\u003ezt\u003c/kbd\u003e | Ⓝ | Browse tags |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e+\u003ckbd\u003ezf\u003c/kbd\u003e | Ⓝ | Search notes |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e+\u003ckbd\u003ezf\u003c/kbd\u003e | Ⓥ | Search notes with selection |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e+\u003ckbd\u003ezb\u003c/kbd\u003e | Ⓝ | Show backlinks |\n| \u003ckbd\u003eSpace\u003c/kbd\u003e+\u003ckbd\u003ezl\u003c/kbd\u003e | Ⓝ | Show links |\n\n\u003c/details\u003e\n\n[Neovim]: https://github.com/neovim/neovim\n[LazyVim]: https://www.lazyvim.org/\n[lazy.nvim]: https://github.com/folke/lazy.nvim\n[lua/rafi/plugins/lsp/init.lua]: ./lua/rafi/plugins/lsp/init.lua\n[nvim-lspconfig]: https://github.com/neovim/nvim-lspconfig\n[blink.cmp]: https://github.com/saghen/blink.cmp\n[nvim-cmp]: https://github.com/hrsh7th/nvim-cmp\n[telescope.nvim]: https://github.com/nvim-telescope/telescope.nvim\n[config/keymaps.lua]: ./lua/rafi/config/keymaps.lua\n[util/edit.lua]: ./lua/rafi/util/edit.lua\n[plugins/lsp/keymaps.lua]: ./lua/rafi/plugins/lsp/keymaps.lua\n[lua/rafi/util/contextmenu.lua]: ./lua/rafi/util/contextmenu.lua\n[nvim-treesitter]: https://github.com/nvim-treesitter/nvim-treesitter\n[lazyvim.org/extras]: https://www.lazyvim.org/extras\n","funding_links":[],"categories":["Lua","LUA","Vim script","vim"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frafi%2Fvim-config","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frafi%2Fvim-config","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frafi%2Fvim-config/lists"}