nvim-lua
nvim-lua copied to clipboard
My nvim-lua setup

What's in this repo?
My personal neovim lua config (requires neovim >= 0.7)
- Minimum changes to default key mapping
- A good selection of carefully hand-picked plugins
- Lazy load plugins where possible
- Which-key to rule them all
- Misc utilities and goodies
Plugins
- packer.nvim: lua plugin manager to auto-install and update our plugins
Basics
- mini.surround: adds the missing
operators (
ds,cs,ys) for dealing with pairs of "surroundings" (quotes, tags, etc)
Git
-
vim-fugitive: git porcelain and plumbing in one by tpope, the Swiss army knife of git
-
gitsigns: git gutter indicators and hunk management
Coding, completion & LSP
-
Comment.nvim: use
gcandgccto comment visual-blocks and lines -
mini.indentscope: add indentation markers based on
tabstop | shiftwidth -
nvim-cmp: autocompletion framework
-
treesitter: text parsing library, provides better syntax highlighting and text-objects for different coding languages (e.g.
yafyank-a-function), see treesitter.lua for defined text objects -
lspconfig: configuration quickstart for nvim's built in LSP
-
nvim-lsp-installer: automatic installation of LSP servers using the
:LspInstallcommand -
null-ls.nvim: a lua in-memory pseudo LSP server providing custom functionalities via the Neovim LSP API, provides spelling word completion and lua code formatting using
stylua -
nvim-dap: set breakpoints and debug applications using Debug Adapter Protocol (DAP)
-
fidget.nvim: Eye candy LSP progress indicator above the status line (top right)
Fuzzy search & file exploration
-
fzf-lua: the original, tried and tested fuzzy finder, lua plugin that does pretty much everything, written by yours truly
-
telescope.nvim: fuzzy search framework for searching project files, buffers, ripgrep and much more
-
nvim-tree: file-explorer tree
-
nvim-bqf: better quickfix and location list, provides quickfix previews, history and fuzzy search, great companion for both telescope and fzf after sending search results to a list
Misc
-
which-key: a must plugin in every setup, when leader key (and some built-ins) sequence is pressed and times out which-key will generate a help window with your keybinds and also let you continue the sequence at your own pace
-
toggleterm.nvim: better term and REPLs (use
gxandgxxto send REPLs to an interpreter) -
oscyank: copy text over ssh terminals using
OSC52 -
nvim-reload: properly reload your nvim configuration and lua modules with
<space>R -
previm: live preview markdown files in the browser with
<space>r
Appearence
-
express_line: TJ's status line plugin, customized and highlighted by me and, LSP/diag patched to work on any neovim >= 0.5
-
nvcode-color-schemes: a collection of treesitter compatible color schemes
-
nvim-colorizer.lua: color code highlighter, use
ColorizerAttachToBufferto provide a live preview of color codes in your buffer (e.g.#d4bfff)