2022-12-30 17:34:43 +01:00
|
|
|
# LazyVim
|
|
|
|
|
2023-01-07 12:11:00 +01:00
|
|
|
Neovim config for the lazy powered by [💤 lazy.nvim](https://github.com/folke/lazy.nvim).
|
2022-12-30 17:35:02 +01:00
|
|
|
|
2023-01-07 11:53:23 +01:00
|
|
|
Can't decide between building a config from scratch or using one of the existing
|
2023-01-07 12:12:08 +01:00
|
|
|
Neovim **_distros_**?
|
2023-01-07 11:53:23 +01:00
|
|
|
|
|
|
|
With **LazyVim** you don't have to. Configuring **LazyVim** is
|
|
|
|
**exactly the same** as you would configure a config from scratch.
|
|
|
|
You can easily add new plugins, change the config for existing ones
|
|
|
|
or disable plugins.
|
|
|
|
|
2022-12-31 13:13:04 +01:00
|
|
|

|
2022-12-30 18:21:30 +01:00
|
|
|
|
2023-01-07 11:44:33 +01:00
|
|
|
## 🚀 Getting Started
|
|
|
|
|
|
|
|
You can find a starter template for **LazyVim** [here](https://github.com/LazyVim/starter)
|
|
|
|
|
2023-01-07 11:59:13 +01:00
|
|
|
**TLDR:**
|
|
|
|
|
|
|
|
```lua
|
|
|
|
require("lazy").setup({
|
|
|
|
spec = {
|
|
|
|
-- import LazyVim plugins
|
|
|
|
{ "LazyVim/LazyVim", import = "lazyvim.plugins" },
|
|
|
|
-- import/override with your plugins
|
|
|
|
{ import = "plugins" },
|
2023-01-09 10:52:18 +01:00
|
|
|
-- import any extras modules here
|
|
|
|
-- { import = "lazyvim.plugins.extras.lang.typescript" },
|
|
|
|
-- { import = "lazyvim.plugins.extras.lang.json" },
|
2023-01-07 11:59:13 +01:00
|
|
|
},
|
|
|
|
defaults = {
|
|
|
|
lazy = true, -- every plugin is lazy-loaded by default
|
|
|
|
version = "*", -- try installing the latest stable version for plugins that support semver
|
2023-01-07 12:01:21 +01:00
|
|
|
},
|
2023-01-07 11:59:13 +01:00
|
|
|
})
|
|
|
|
```
|
|
|
|
|
2023-01-09 10:52:18 +01:00
|
|
|
## 📂 File Structure
|
2022-12-30 18:21:30 +01:00
|
|
|
|
2023-01-09 10:52:18 +01:00
|
|
|
The files under config will be automatically loaded at the appropriate time,
|
|
|
|
so you don't need to require those files manually.
|
|
|
|
|
|
|
|
You can add your custom plugin specs under `lua/plugins/`. All files there
|
|
|
|
will be automatically loaded by [lazy.nvim](https://github.com/folke/lazy.nvim)
|
|
|
|
|
|
|
|
<pre>
|
|
|
|
~/.config/nvim
|
|
|
|
├── lua
|
|
|
|
│ ├── config
|
|
|
|
│ │ ├── autocmds.lua
|
|
|
|
│ │ ├── keymaps.lua
|
|
|
|
│ │ ├── lazy.lua
|
|
|
|
│ │ └── options.lua
|
|
|
|
│ └── plugins
|
|
|
|
│ ├── spec1.lua
|
|
|
|
│ ├── **
|
|
|
|
│ └── spec2.lua
|
|
|
|
└── init.toml
|
|
|
|
</pre>
|
|
|
|
|
|
|
|
## 🚀 Configuring **LazyVim**
|
|
|
|
|
|
|
|
Configuring **LazyVim** is exactly the same as using **lazy.nvim** to build
|
|
|
|
a config from scratch.
|
|
|
|
|
|
|
|
For the full plugin spec documentation please check the **lazy.nvim**
|
|
|
|
[readme](https://github.com/folke/lazy.nvim).
|
|
|
|
|
|
|
|
<details><summary>Example spec: <code>lua/plugins/example.lua</code></summary>
|
|
|
|
|
|
|
|
<!-- examples:start -->
|
|
|
|
|
|
|
|
```lua
|
|
|
|
-- every spec file under config.plugins will be loaded automatically by lazy.nvim
|
|
|
|
--
|
|
|
|
-- In your plugin files, you can:
|
|
|
|
-- * add extra plugins
|
|
|
|
-- * disable/enabled LazyVim plugins
|
|
|
|
-- * override the configuration of LazyVim plugins
|
|
|
|
return {
|
|
|
|
-- change trouble config
|
|
|
|
{
|
|
|
|
"folke/trouble.nvim",
|
|
|
|
-- opts will be merged with the parent spec
|
|
|
|
opts = { use_diagnostic_signs = true },
|
|
|
|
},
|
|
|
|
|
|
|
|
-- disable trouble
|
|
|
|
{ "folke/trouble.nvim", enabled = false },
|
|
|
|
|
|
|
|
-- add symbols-outline
|
|
|
|
{
|
|
|
|
"simrat39/symbols-outline.nvim",
|
|
|
|
cmd = "SymbolsOutline",
|
|
|
|
keys = { { "<leader>cs", "<cmd>SymbolsOutline<cr>", desc = "Symbols Outline" } },
|
|
|
|
config = true,
|
|
|
|
},
|
|
|
|
|
|
|
|
-- override nvim-cmp and add cmp-emoji
|
|
|
|
{
|
|
|
|
"hrsh7th/nvim-cmp",
|
|
|
|
dependencies = { "hrsh7th/cmp-emoji" },
|
|
|
|
---@param opts cmp.ConfigSchema
|
|
|
|
opts = function(_, opts)
|
|
|
|
local cmp = require("cmp")
|
|
|
|
opts.sources = cmp.config.sources(vim.list_extend(opts.sources, { { name = "emoji" } }))
|
|
|
|
end,
|
|
|
|
},
|
|
|
|
|
|
|
|
-- change some telescope options and add telescope-fzf-native
|
|
|
|
{
|
|
|
|
"nvim-telescope/telescope.nvim",
|
|
|
|
dependencies = { { "nvim-telescope/telescope-fzf-native.nvim", build = "make" } },
|
|
|
|
keys = {
|
|
|
|
-- add a keymap to browse plugin files
|
|
|
|
-- stylua: ignore
|
|
|
|
{
|
|
|
|
"<leader>fp",
|
|
|
|
function() require("telescope.builtin").find_files({ cwd = require("lazy.core.config").options.root }) end,
|
|
|
|
desc = "Find Plugin File",
|
|
|
|
},
|
|
|
|
},
|
|
|
|
-- change some options
|
|
|
|
opts = {
|
|
|
|
defaults = {
|
|
|
|
layout_strategy = "horizontal",
|
|
|
|
layout_config = { prompt_position = "top" },
|
|
|
|
sorting_strategy = "ascending",
|
|
|
|
winblend = 0,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
-- apply the config and additionally load fzf-native
|
|
|
|
config = function(_, opts)
|
|
|
|
local telescope = require("telescope")
|
|
|
|
telescope.setup(opts)
|
|
|
|
telescope.load_extension("fzf")
|
|
|
|
end,
|
|
|
|
},
|
|
|
|
|
|
|
|
-- add pyright and setup tsserver with typescript.nvim
|
|
|
|
{
|
|
|
|
"neovim/nvim-lspconfig",
|
|
|
|
dependencies = {
|
|
|
|
"jose-elias-alvarez/typescript.nvim",
|
|
|
|
init = function()
|
|
|
|
require("lazyvim.util").on_attach(function(_, buffer)
|
|
|
|
-- stylua: ignore
|
|
|
|
vim.keymap.set( "n", "<leader>co", "TypescriptOrganizeImports", { buffer = buffer, desc = "Organize Imports" })
|
|
|
|
vim.keymap.set("n", "<leader>cR", "TypescriptRenameFile", { desc = "Rename File", buffer = buffer })
|
|
|
|
end)
|
|
|
|
end,
|
|
|
|
},
|
|
|
|
---@class PluginLspOpts
|
|
|
|
opts = {
|
|
|
|
---@type lspconfig.options
|
|
|
|
servers = {
|
|
|
|
-- pyright will be automatically installed with mason and loaded with lspconfig
|
|
|
|
pyright = {},
|
|
|
|
tsserver = {},
|
|
|
|
},
|
|
|
|
-- you can do any additional lsp server setup here
|
|
|
|
-- return true if you don't want this server to be setup with lspconfig
|
|
|
|
---@type table<string, fun(server:string, opts:_.lspconfig.options):boolean?>
|
|
|
|
setup = {
|
|
|
|
-- example to setup with typescript.nvim
|
|
|
|
tsserver = function(_, opts)
|
|
|
|
require("typescript").setup({ server = opts })
|
|
|
|
return true
|
|
|
|
end,
|
|
|
|
-- Specify * to use this function as a fallback for any server
|
|
|
|
-- ["*"] = function(server, opts) end,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
-- for typescript, LazyVim also includes extra specs to properly setup lspconfig,
|
|
|
|
-- treesitter, mason and typescript.nvim. So instead of the above, you can use:
|
|
|
|
{ import = "lazyvim.plugins.extras.lang.typescript" },
|
|
|
|
|
|
|
|
-- add more treesitter parsers
|
|
|
|
{
|
|
|
|
"nvim-treesitter/nvim-treesitter",
|
|
|
|
opts = {
|
|
|
|
ensure_installed = {
|
|
|
|
"bash",
|
|
|
|
"help",
|
|
|
|
"html",
|
|
|
|
"javascript",
|
|
|
|
"json",
|
|
|
|
"lua",
|
|
|
|
"markdown",
|
|
|
|
"markdown_inline",
|
|
|
|
"python",
|
|
|
|
"query",
|
|
|
|
"regex",
|
|
|
|
"tsx",
|
|
|
|
"typescript",
|
|
|
|
"vim",
|
|
|
|
"yaml",
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
-- since `vim.tbl_deep_extend`, can only merge tables and not lists, the code above
|
|
|
|
-- would overwrite `ensure_installed` with the ne value.
|
|
|
|
-- If you'd rather extend the default config, use the code below instead:
|
|
|
|
{
|
|
|
|
"nvim-treesitter/nvim-treesitter",
|
|
|
|
opts = function(_, opts)
|
|
|
|
vim.list_extend(opts.ensure_installed, {
|
|
|
|
-- add tsx and treesitter
|
|
|
|
ensure_installed = {
|
|
|
|
"tsx",
|
|
|
|
"typescript",
|
|
|
|
},
|
|
|
|
})
|
|
|
|
end,
|
|
|
|
},
|
|
|
|
|
|
|
|
-- the opts function can als be used to change the default opts:
|
|
|
|
{
|
|
|
|
"nvim-lualine/lualine.nvim",
|
|
|
|
event = "VeryLazy",
|
|
|
|
opts = function(_, opts)
|
|
|
|
table.insert(opts.sections.lualine_x, "😄")
|
|
|
|
end,
|
|
|
|
},
|
|
|
|
|
|
|
|
-- or you can return new options to override all the defaults
|
|
|
|
{
|
|
|
|
"nvim-lualine/lualine.nvim",
|
|
|
|
event = "VeryLazy",
|
|
|
|
opts = function()
|
|
|
|
return {
|
|
|
|
--[[add your custom lualine config here]]
|
|
|
|
}
|
|
|
|
end,
|
|
|
|
},
|
|
|
|
|
|
|
|
-- use mini.starter instead of alpha
|
|
|
|
{ import = "lazyvim.plugins.extras.ui.mini-starter" },
|
|
|
|
|
|
|
|
-- add jsonls and schemastore ans setup treesitter for json, json5 and jsonc
|
|
|
|
{ import = "lazyvim.plugins.extras.lang.json" },
|
|
|
|
|
|
|
|
-- add any tools you want to have installed below
|
|
|
|
{
|
|
|
|
"williamboman/mason.nvim",
|
|
|
|
opts = {
|
|
|
|
ensure_installed = {
|
|
|
|
"stylua",
|
|
|
|
"shellcheck",
|
|
|
|
"shfmt",
|
|
|
|
"flake8",
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
<!-- examples:end -->
|
|
|
|
|
|
|
|
</details>
|
2022-12-30 23:59:24 +01:00
|
|
|
|
2023-01-08 21:20:36 +01:00
|
|
|
## ⌨️ Keymaps
|
2023-01-08 21:08:28 +01:00
|
|
|
|
2023-01-09 08:37:42 +01:00
|
|
|
**LazyVim** uses [which-key.nvim](https://github.com/folke/which-key) to help you remember your
|
|
|
|
keymaps. Just press any key like `<space>` and you'll see a popup with all
|
|
|
|
possible keymaps starting with `<space>`.
|
|
|
|
|
2023-01-09 08:39:40 +01:00
|
|
|

|
2023-01-09 08:38:50 +01:00
|
|
|
|
2023-01-08 21:08:28 +01:00
|
|
|
<!-- keymaps:start -->
|
|
|
|
|
2023-01-09 08:37:42 +01:00
|
|
|
<details><summary>General</summary>
|
2023-01-08 21:08:28 +01:00
|
|
|
|
2023-01-08 21:20:36 +01:00
|
|
|
| Key | Description | Mode |
|
|
|
|
| -------------------- | -------------------------- | -------------------------- |
|
|
|
|
| `<C-h>` | Go to left window | **n** |
|
|
|
|
| `<C-j>` | Go to lower window | **n** |
|
|
|
|
| `<C-k>` | Go to upper window | **n** |
|
|
|
|
| `<C-l>` | Go to right window | **n** |
|
|
|
|
| `<C-Up>` | Increase window height | **n** |
|
|
|
|
| `<C-Down>` | Decrease window height | **n** |
|
|
|
|
| `<C-Left>` | Decrease window width | **n** |
|
|
|
|
| `<C-Right>` | Increase window width | **n** |
|
|
|
|
| `<A-j>` | Move down | **n**, **v**, **i** |
|
|
|
|
| `<A-k>` | Move up | **n**, **v**, **i** |
|
|
|
|
| `<S-h>` | Prev buffer | **n** |
|
|
|
|
| `<S-l>` | Next buffer | **n** |
|
|
|
|
| `[p` | Paste below | **n** |
|
|
|
|
| `]p` | Paste above | **n** |
|
|
|
|
| `<esc>` | Escape and clear hlsearch | **i**, **n** |
|
|
|
|
| `n` | Next search result | **n**, **x**, **o** |
|
|
|
|
| `N` | Prev search result | **n**, **x**, **o** |
|
|
|
|
| `<C-s>` | Save file | **i**, **v**, **n**, **s** |
|
|
|
|
| `<leader>l` | Lazy | **n** |
|
|
|
|
| `<leader>fn` | New File | **n** |
|
|
|
|
| `<leader>xl` | Open Location List | **n** |
|
|
|
|
| `<leader>xq` | Open Quickfix List | **n** |
|
2023-01-09 08:37:42 +01:00
|
|
|
| `<leader>tf` | Toggle format on Save | **n** |
|
2023-01-08 21:20:36 +01:00
|
|
|
| `<leader>ts` | Toggle Spelling | **n** |
|
|
|
|
| `<leader>tw` | Toggle Word Wrap | **n** |
|
|
|
|
| `<leader>tn` | Toggle Line Numbers | **n** |
|
|
|
|
| `<leader>td` | Toggle Diagnostics | **n** |
|
|
|
|
| `<leader>tc` | Toggle Conceal | **n** |
|
|
|
|
| `<leader>gg` | Lazygit (cwd) | **n** |
|
|
|
|
| `<leader>gG` | Lazygit (root dir) | **n** |
|
|
|
|
| `<leader>qq` | Quit all | **n** |
|
|
|
|
| `<leader>hl` | Highlight Groups at cursor | **n** |
|
|
|
|
| `<leader>ot` | Terminal (root dir) | **n** |
|
|
|
|
| `<leader>oT` | Terminal (cwd) | **n** |
|
|
|
|
| `<esc><esc>` | Enter Normal Mode | **t** |
|
|
|
|
| `<leader>ww` | other-window | **n** |
|
|
|
|
| `<leader>wd` | delete-window | **n** |
|
|
|
|
| `<leader>w-` | split-window-below | **n** |
|
|
|
|
| `<leader>w\|` | split-window-right | **n** |
|
|
|
|
| `<leader><tab>l` | Last | **n** |
|
|
|
|
| `<leader><tab>f` | First | **n** |
|
|
|
|
| `<leader><tab><tab>` | New Tab | **n** |
|
|
|
|
| `<leader><tab>]` | Next | **n** |
|
|
|
|
| `<leader><tab>d` | Close | **n** |
|
|
|
|
| `<leader><tab>[` | Previous | **n** |
|
|
|
|
| `<leader>b]` | Next Buffer | **n** |
|
|
|
|
| `<leader>bb` | Switch to Other Buffer | **n** |
|
|
|
|
| `<leader>b[` | Previous Buffer | **n** |
|
|
|
|
| `` <leader>` `` | Switch to Other Buffer | **n** |
|
2023-01-08 21:08:28 +01:00
|
|
|
|
2023-01-09 08:37:42 +01:00
|
|
|
</details>
|
|
|
|
|
|
|
|
<details><summary>LSP</summary>
|
2023-01-08 21:08:28 +01:00
|
|
|
|
2023-01-08 21:20:36 +01:00
|
|
|
| Key | Description | Mode |
|
|
|
|
| ------------ | --------------------- | ------------ |
|
|
|
|
| `<leader>cd` | Line Diagnostics | **n** |
|
|
|
|
| `<leader>cl` | Lsp Info | **n** |
|
|
|
|
| `<leader>xd` | Telescope Diagnostics | **n** |
|
|
|
|
| `gd` | Goto Definition | **n** |
|
|
|
|
| `gr` | References | **n** |
|
|
|
|
| `gD` | Goto Declaration | **n** |
|
|
|
|
| `gI` | Goto Implementation | **n** |
|
|
|
|
| `gt` | Goto Type Definition | **n** |
|
|
|
|
| `K` | Hover | **n** |
|
|
|
|
| `gK` | Signature Help | **n** |
|
|
|
|
| `[d` | Next Diagnostic | **n** |
|
|
|
|
| `]d` | Prev Diagnostic | **n** |
|
|
|
|
| `]e` | Next Error | **n** |
|
|
|
|
| `[e` | Prev Error | **n** |
|
|
|
|
| `]w` | Next Warning | **n** |
|
|
|
|
| `[w` | Prev Warning | **n** |
|
|
|
|
| `<leader>ca` | Code Action | **n**, **v** |
|
|
|
|
| `<leader>cf` | Format Document | **n** |
|
|
|
|
| `<leader>cf` | Format Range | **v** |
|
|
|
|
| `<leader>cr` | Rename | **n** |
|
2023-01-08 21:08:28 +01:00
|
|
|
|
2023-01-09 08:37:42 +01:00
|
|
|
</details>
|
|
|
|
|
|
|
|
<details><summary>Plugins</summary>
|
2023-01-08 21:08:28 +01:00
|
|
|
|
2023-01-08 21:20:36 +01:00
|
|
|
| Key | Description | Mode |
|
|
|
|
| ----------------- | ---------------------------------------------------------------------------------------------- | ----- |
|
|
|
|
| `<leader>cm` | [mason.nvim](https://github.com/williamboman/mason.nvim.git) Mason | **n** |
|
|
|
|
| `<leader>bd` | [mini.bufremove](https://github.com/echasnovski/mini.bufremove.git) Delete Buffer | **n** |
|
|
|
|
| `<leader>bD` | [mini.bufremove](https://github.com/echasnovski/mini.bufremove.git) Delete Buffer (Force) | **n** |
|
|
|
|
| `<leader>ft` | [neo-tree.nvim](https://github.com/nvim-neo-tree/neo-tree.nvim.git) NeoTree (root dir) | **n** |
|
|
|
|
| `<leader>fT` | [neo-tree.nvim](https://github.com/nvim-neo-tree/neo-tree.nvim.git) NeoTree (cwd) | **n** |
|
|
|
|
| `<S-Enter>` | [noice.nvim](https://github.com/folke/noice.nvim.git) Redirect Cmdline | **c** |
|
|
|
|
| `<leader>nl` | [noice.nvim](https://github.com/folke/noice.nvim.git) Noice Last Message | **n** |
|
|
|
|
| `<leader>nh` | [noice.nvim](https://github.com/folke/noice.nvim.git) Noice History | **n** |
|
|
|
|
| `<leader>na` | [noice.nvim](https://github.com/folke/noice.nvim.git) Noice All | **n** |
|
2023-01-09 09:54:02 +01:00
|
|
|
| `<c-f>` | [noice.nvim](https://github.com/folke/noice.nvim.git) Scroll forward | **n** |
|
|
|
|
| `<c-b>` | [noice.nvim](https://github.com/folke/noice.nvim.git) Scroll backward | **n** |
|
2023-01-08 21:20:36 +01:00
|
|
|
| `<leader>nd` | [nvim-notify](https://github.com/rcarriga/nvim-notify.git) Delete all Notifications | **n** |
|
|
|
|
| `<leader>sr` | [nvim-spectre](https://github.com/windwp/nvim-spectre.git) Replace in files (Spectre) | **n** |
|
|
|
|
| `<leader>qs` | [persistence.nvim](https://github.com/folke/persistence.nvim.git) Restore Session | **n** |
|
|
|
|
| `<leader>ql` | [persistence.nvim](https://github.com/folke/persistence.nvim.git) Restore Last Session | **n** |
|
|
|
|
| `<leader>qd` | [persistence.nvim](https://github.com/folke/persistence.nvim.git) Don't Save Current Session | **n** |
|
|
|
|
| `<leader>/` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Find in Files (Grep) | **n** |
|
|
|
|
| `<leader><space>` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Find Files (root dir) | **n** |
|
|
|
|
| `<leader>fb` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Buffers | **n** |
|
|
|
|
| `<leader>ff` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Find Files (root dir) | **n** |
|
|
|
|
| `<leader>fF` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Find Files (cwd) | **n** |
|
|
|
|
| `<leader>fr` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Recent | **n** |
|
|
|
|
| `<leader>gc` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) commits | **n** |
|
|
|
|
| `<leader>gs` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) status | **n** |
|
|
|
|
| `<leader>ha` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Auto Commands | **n** |
|
|
|
|
| `<leader>hc` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Commands | **n** |
|
|
|
|
| `<leader>hf` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) File Types | **n** |
|
|
|
|
| `<leader>hh` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Help Pages | **n** |
|
|
|
|
| `<leader>hk` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Key Maps | **n** |
|
|
|
|
| `<leader>hm` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Man Pages | **n** |
|
|
|
|
| `<leader>ho` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Options | **n** |
|
|
|
|
| `<leader>hs` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Search Highlight Groups | **n** |
|
|
|
|
| `<leader>ht` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Telescope | **n** |
|
|
|
|
| `<leader>sb` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Buffer | **n** |
|
|
|
|
| `<leader>sc` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Command History | **n** |
|
|
|
|
| `<leader>sg` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Grep (root dir) | **n** |
|
|
|
|
| `<leader>sG` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Grep (cwd) | **n** |
|
|
|
|
| `<leader>sm` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Jump to Mark | **n** |
|
|
|
|
| `<leader>,` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Switch Buffer | **n** |
|
|
|
|
| `<leader>:` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Command History | **n** |
|
|
|
|
| `<leader>ss` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Goto Symbol | **n** |
|
|
|
|
| `]t` | [todo-comments.nvim](https://github.com/folke/todo-comments.nvim.git) Next todo comment | **n** |
|
|
|
|
| `[t` | [todo-comments.nvim](https://github.com/folke/todo-comments.nvim.git) Previous todo comment | **n** |
|
|
|
|
| `<leader>xt` | [todo-comments.nvim](https://github.com/folke/todo-comments.nvim.git) Todo Trouble | **n** |
|
|
|
|
| `<leader>xtt` | [todo-comments.nvim](https://github.com/folke/todo-comments.nvim.git) Todo Trouble | **n** |
|
|
|
|
| `<leader>xT` | [todo-comments.nvim](https://github.com/folke/todo-comments.nvim.git) Todo Telescope | **n** |
|
|
|
|
| `<leader>xx` | [trouble.nvim](https://github.com/folke/trouble.nvim.git) Document Diagnostics (Trouble) | **n** |
|
|
|
|
| `<leader>xX` | [trouble.nvim](https://github.com/folke/trouble.nvim.git) Workspace Diagnostics (Trouble) | **n** |
|
|
|
|
| `]]` | [vim-illuminate](https://github.com/RRethy/vim-illuminate.git) Next Reference | **n** |
|
|
|
|
| `[[` | [vim-illuminate](https://github.com/RRethy/vim-illuminate.git) Prev Reference | **n** |
|
2023-01-08 21:08:28 +01:00
|
|
|
|
2023-01-09 08:37:42 +01:00
|
|
|
</details>
|
|
|
|
|
2023-01-08 21:08:28 +01:00
|
|
|
<!-- keymaps:end -->
|
2023-01-01 09:56:44 +01:00
|
|
|
|
2023-01-08 21:20:36 +01:00
|
|
|
## 📦 Plugins
|
2022-12-30 23:59:24 +01:00
|
|
|
|
2023-01-08 21:08:28 +01:00
|
|
|
<!-- plugins:start -->
|
|
|
|
|
2023-01-09 10:52:18 +01:00
|
|
|
<details><summary>Core</summary>
|
2023-01-09 09:54:02 +01:00
|
|
|
|
2022-12-30 23:59:24 +01:00
|
|
|
- [alpha-nvim](https://github.com/goolord/alpha-nvim)
|
|
|
|
- [catppuccin](https://github.com/catppuccin/nvim)
|
|
|
|
- [cmp-buffer](https://github.com/hrsh7th/cmp-buffer)
|
|
|
|
- [cmp-nvim-lsp](https://github.com/hrsh7th/cmp-nvim-lsp)
|
|
|
|
- [cmp-path](https://github.com/hrsh7th/cmp-path)
|
|
|
|
- [cmp_luasnip](https://github.com/saadparwaiz1/cmp_luasnip)
|
|
|
|
- [dressing.nvim](https://github.com/stevearc/dressing.nvim)
|
2023-01-01 09:56:44 +01:00
|
|
|
- [flit.nvim](https://github.com/ggandor/flit.nvim)
|
2022-12-30 23:59:24 +01:00
|
|
|
- [friendly-snippets](https://github.com/rafamadriz/friendly-snippets)
|
|
|
|
- [gitsigns.nvim](https://github.com/lewis6991/gitsigns.nvim)
|
|
|
|
- [indent-blankline.nvim](https://github.com/lukas-reineke/indent-blankline.nvim)
|
|
|
|
- [lazy.nvim](https://github.com/folke/lazy.nvim)
|
2023-01-01 09:56:44 +01:00
|
|
|
- [leap.nvim](https://github.com/ggandor/leap.nvim)
|
2022-12-30 23:59:24 +01:00
|
|
|
- [lualine.nvim](https://github.com/nvim-lualine/lualine.nvim)
|
2022-12-31 00:00:30 +01:00
|
|
|
- [LuaSnip](https://github.com/L3MON4D3/LuaSnip)
|
2022-12-30 23:59:24 +01:00
|
|
|
- [mason-lspconfig.nvim](https://github.com/williamboman/mason-lspconfig.nvim)
|
|
|
|
- [mason.nvim](https://github.com/williamboman/mason.nvim)
|
2023-01-04 14:02:09 +01:00
|
|
|
- [mini.ai](https://github.com/echasnovski/mini.ai)
|
2023-01-01 09:56:44 +01:00
|
|
|
- [mini.bufremove](https://github.com/echasnovski/mini.bufremove)
|
2022-12-30 23:59:24 +01:00
|
|
|
- [mini.comment](https://github.com/echasnovski/mini.comment)
|
2023-01-04 14:02:09 +01:00
|
|
|
- [mini.indentscope](https://github.com/echasnovski/mini.indentscope)
|
2022-12-30 23:59:24 +01:00
|
|
|
- [mini.pairs](https://github.com/echasnovski/mini.pairs)
|
2023-01-04 14:02:09 +01:00
|
|
|
- [mini.surround](https://github.com/echasnovski/mini.surround)
|
2022-12-30 23:59:24 +01:00
|
|
|
- [neo-tree.nvim](https://github.com/nvim-neo-tree/neo-tree.nvim)
|
|
|
|
- [neoconf.nvim](https://github.com/folke/neoconf.nvim)
|
|
|
|
- [neodev.nvim](https://github.com/folke/neodev.nvim)
|
2023-01-01 09:56:44 +01:00
|
|
|
- [noice.nvim](https://github.com/folke/noice.nvim)
|
2022-12-30 23:59:24 +01:00
|
|
|
- [nui.nvim](https://github.com/MunifTanjim/nui.nvim)
|
|
|
|
- [null-ls.nvim](https://github.com/jose-elias-alvarez/null-ls.nvim)
|
|
|
|
- [nvim-bufferline.lua](https://github.com/akinsho/nvim-bufferline.lua)
|
|
|
|
- [nvim-cmp](https://github.com/hrsh7th/nvim-cmp)
|
|
|
|
- [nvim-lspconfig](https://github.com/neovim/nvim-lspconfig)
|
2023-01-07 11:33:06 +01:00
|
|
|
- [nvim-navic](https://github.com/SmiteshP/nvim-navic)
|
2022-12-30 23:59:24 +01:00
|
|
|
- [nvim-notify](https://github.com/rcarriga/nvim-notify)
|
2023-01-04 14:02:09 +01:00
|
|
|
- [nvim-spectre](https://github.com/windwp/nvim-spectre)
|
2022-12-30 23:59:24 +01:00
|
|
|
- [nvim-treesitter](https://github.com/nvim-treesitter/nvim-treesitter)
|
2023-01-04 14:02:09 +01:00
|
|
|
- [nvim-treesitter-textobjects](https://github.com/nvim-treesitter/nvim-treesitter-textobjects)
|
2022-12-30 23:59:24 +01:00
|
|
|
- [nvim-ts-context-commentstring](https://github.com/JoosepAlviste/nvim-ts-context-commentstring)
|
|
|
|
- [nvim-web-devicons](https://github.com/nvim-tree/nvim-web-devicons)
|
2023-01-04 14:02:09 +01:00
|
|
|
- [persistence.nvim](https://github.com/folke/persistence.nvim)
|
2022-12-30 23:59:24 +01:00
|
|
|
- [plenary.nvim](https://github.com/nvim-lua/plenary.nvim)
|
|
|
|
- [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim)
|
2023-01-04 14:02:09 +01:00
|
|
|
- [todo-comments.nvim](https://github.com/folke/todo-comments.nvim)
|
2022-12-30 23:59:24 +01:00
|
|
|
- [tokyonight.nvim](https://github.com/folke/tokyonight.nvim)
|
2023-01-04 14:02:09 +01:00
|
|
|
- [trouble.nvim](https://github.com/folke/trouble.nvim)
|
2023-01-01 09:56:44 +01:00
|
|
|
- [vim-illuminate](https://github.com/RRethy/vim-illuminate)
|
|
|
|
- [vim-startuptime](https://github.com/dstein64/vim-startuptime)
|
2022-12-30 23:59:24 +01:00
|
|
|
- [which-key.nvim](https://github.com/folke/which-key.nvim)
|
|
|
|
|
2023-01-09 09:54:02 +01:00
|
|
|
</details>
|
|
|
|
|
|
|
|
<details><summary>Extras: <code>lang.json</code></summary>
|
|
|
|
|
|
|
|
To use this, add it to your **lazy.nvim** imports:
|
|
|
|
|
|
|
|
```lua
|
|
|
|
require("lazy").setup({
|
|
|
|
spec = {
|
|
|
|
{ "folke/LazyVim", import = "lazyvim.plugins" },
|
|
|
|
{ import = "lazyvim.plugins.extras.lang.json" },
|
|
|
|
{ import = "plugins" },
|
|
|
|
},
|
|
|
|
})
|
|
|
|
```
|
|
|
|
|
|
|
|
- [nvim-lspconfig](https://github.com/neovim/nvim-lspconfig)
|
|
|
|
- [nvim-treesitter](https://github.com/nvim-treesitter/nvim-treesitter)
|
|
|
|
- [schemastore.nvim](https://github.com/b0o/schemastore.nvim)
|
|
|
|
|
|
|
|
</details>
|
|
|
|
|
|
|
|
<details><summary>Extras: <code>lang.typescript</code></summary>
|
|
|
|
|
|
|
|
To use this, add it to your **lazy.nvim** imports:
|
|
|
|
|
|
|
|
```lua
|
|
|
|
require("lazy").setup({
|
|
|
|
spec = {
|
|
|
|
{ "folke/LazyVim", import = "lazyvim.plugins" },
|
|
|
|
{ import = "lazyvim.plugins.extras.lang.typescript" },
|
|
|
|
{ import = "plugins" },
|
|
|
|
},
|
|
|
|
})
|
|
|
|
```
|
|
|
|
|
|
|
|
- [nvim-lspconfig](https://github.com/neovim/nvim-lspconfig)
|
|
|
|
- [nvim-treesitter](https://github.com/nvim-treesitter/nvim-treesitter)
|
|
|
|
- [typescript.nvim](https://github.com/jose-elias-alvarez/typescript.nvim)
|
|
|
|
|
|
|
|
</details>
|
|
|
|
|
|
|
|
<details><summary>Extras: <code>ui.mini-starter</code></summary>
|
|
|
|
|
|
|
|
To use this, add it to your **lazy.nvim** imports:
|
|
|
|
|
|
|
|
```lua
|
|
|
|
require("lazy").setup({
|
|
|
|
spec = {
|
|
|
|
{ "folke/LazyVim", import = "lazyvim.plugins" },
|
|
|
|
{ import = "lazyvim.plugins.extras.ui.mini-starter" },
|
|
|
|
{ import = "plugins" },
|
|
|
|
},
|
|
|
|
})
|
|
|
|
```
|
|
|
|
|
|
|
|
- [mini.starter](https://github.com/echasnovski/mini.starter)
|
|
|
|
|
|
|
|
</details>
|
|
|
|
|
2022-12-30 23:59:24 +01:00
|
|
|
<!-- plugins:end -->
|