## Config Folder To confirm path location, open Neovim and type `:echo stdpath('config')` %% Config location on personal Macbook Pro 2019 is `~.config/nvim` Config location on work laptop (within WSL) is `/home/spencer/.config/nvim` %% Create `init.lua` file and insert customizations there. Or download [[Neovim Setup]] from GitHub. ## Remap Reference | key | command | notes | | --- | --- | --- | `<leader>sg` | Search Grep | | `<leader>sf` | Search Files | | `grd` | Go to definition | | `grD` | Go to declaration | | `grr` | Go to references | "Find Usages" | | `gO` | Open document symbols | "Show/View Structure" JetBrains equivalent | | `<leader>d` | Start debug session | | `<leader>b` | Toggle breakpoint | ## Hotkey Reference | key | command | | --- | --- | `ctrl` + `w` + `x` | swap window positions | ## Packages Handled with Lazy - [tpope/vim-sleuth](https://github.com/tpope/vim-sleuth) - autopairs.lua - [winwp/nvim-autopairs](https://github.com/windwp/nvim-autopairs) - colors.lua - [folke/tokyonight.nvim](https://github.com/folke/tokyonight.nvim) - [folke/todo-comments.nvim](https://github.com/folke/todo-comments.nvim) - debug.lua - [[Neovim dap]] - gitsigns.lua - [lewis6991/gitsigns.nvim](https://github.com/lewis6991/gitsigns.nvim) - indent_line.lua - [lukas-reineke/indent-blankline.nvim](https://github.com/lukas-reineke/indent-blankline.nvim) - lint.lua - [mfussenegger/nvim-lint](https://github.com/mfussenegger/nvim-lint) - lsp.lua - [folke/lazydev.nvim](https://github.com/folke/lazydev.nvim) - [neovim/nvim-lspconfig](https://github.com/neovim/nvim-lspconfig) - [stevearc/conform.nvim](https://github.com/stevearc/conform.nvim) - [Saghen/blink.cmp](https://github.com/Saghen/blink.cmp) - mini.lua - [echasnovski/mini.nvim](https://github.com/echasnovski/mini.nvim) - mini-tree.lua - [nvim-neo-tree/neo-tree.nvim](https://github.com/nvim-neo-tree/neo-tree.nvim) - telescope.lua - [nvim-telescope/telescope.nvim](https://github.com/nvim-telescope/telescope.nvim) - treesitter.lua - [nvim-treesitter/nvim-treesitter](https://github.com/nvim-treesitter/nvim-treesitter) - which-key.lua - [folke/which-key.nvim](https://github.com/folke/which-key.nvim) ## See Also [config repo](https://github.com/SpencerCloud/neovim-config) [[Neovim Settings]] --- # Deprecated This is slightly out-of-date, as now for new Neovim projects, I'm simply downloading from my [repo](https://github.com/SpencerCloud/neovim-config). NB: Much of this is out of date. Delete if unused a while after 2025-04-16. Taken partially from The Primeagen's [0 to LSP : Neovim RC from Scratch](https://www.youtube.com/watch?v=w7i4amO_zaE), but using [lazy](https://github.com/folke/lazy.nvim) as the package manager since [packer](https://github.com/wbthomason/packer.nvim) is no longer supported. ## Packages - [[Neovim Lazy | lazy]] - package manager - [[Neovim Telescope | Telescope]] - Fuzzy finder - May require [BurntSushi/ripgrep](https://github.com/BurntSushi/ripgrep) for ripgrep searching text in files - nvim-treesitter/nvim-treesitter - Syntax highlighting - threprimeagen/harpoon - File marker / opener - mbbill/undotree - tpope/vim-fugitive - git integration ## Remaps | key | command | note | | --- | --- | --- | `<leader>e` | Explorer | | `<leader>w` | Write | | `<leader>we` | Write + Explorer | | `<leader>ff` | Telescope find files | `telescope.lua` | | `Ctrl + p` | Search git-tracked filenames | `telescope.lua` | | `<leader>ps` | ripgrep search | `telescope.lua`<br>requires `ripgrep` installation as CLI tool | | `<leader>u` | Toggle undo tree | | `<leader>gs` | "git status" - Run vim git | Set with Fugitive | ### Harpoon | key | command | | --- | --- | `<leader>a` | add file | | `Ctrl + d` | Toggle quick menu | | `Ctrl + h/j/k/l` | Open file 1/2/3/4 |