Vim plugins
Below is a list of plugins I use.
lazy.nvim is great plugin manager.
Utility
- Ale - Check syntax in Vim asynchronously and fix files, with LSP support.
- Cool - Stop matching after search is done.
- Auto Pairs - Insert or delete brackets, parens, quotes in pair.
- Nerdcommenter - Quick comments.
- RipGrep - Use RipGrep in Vim and display results in a quickfix list.
- vimproc - Interactive command execution.
- Repeat - Enable repeating supported plugin maps with ".".
- Surround - Quoting/parenthesizing made simple.
- Easy align - Simple, easy-to-use alignment.
- fzf - FZF search.
- Incsearch - Improved incremental searching.
- Easymotion - Vim motions on speed.
- Quickrun - Run commands quickly.
Git
Nix
- Nix - Vim configuration files for Nix.
Looks
- ayu - I only change locally mirage theme colors to
#1e2431
so background color matches my other GitHub themes. (in~/.config/nvim/plugged/ayu-vim/colors
)
Interesting (not using)
Utility
- Hop - Neovim motions on speed.
- LunarVim - Opinionated, extensible, and fast IDE layer for Neovim. (Docs)
- RubberDuck GPT3 - Simulate rubber duck programming by using the chatGPT API to generate code suggestions and natural language explanations.
- kommentary - Neovim commenting plugin, written in lua.
- legendary.nvim - Legend for your keymaps and commands, with which-key.nvim integration.
- Indent Blankline - Indent guides for Neovim.
- fuzzy-motion.vim - Jump to fuzzy match word.
- jaq-nvim - Quickrun Plugin for Neovim in Lua.
- vim-vsnip - Snippet plugin for vim/nvim that supports LSP/VSCode's snippet format.
- coq.nvim - Fast nvim completion. SQLite, concurrent scheduler, hundreds of hours of optimization.
- Navigator - Navigate codes like a breeze. Exploring LSP and Treesitter.
- distant.nvim - Edit files, run programs, and work with LSP on a remote machine from the comfort of your local environment.
- fzf-lua - Improved fzf.vim written in lua.
- Goto Preview - Small Neovim plugin for previewing definitions using floating windows.
- Zen Mode - Distraction-free coding for Neovim.
- ssr.nvim - Structural search and replace for Neovim.
- Trouble - Pretty diagnostics, references, telescope results, quickfix and location list to help you solve all the trouble your code is causing.
- nvim-surround - Surround selections, stylishly.
- mapx.lua - Neovim lua plugin to make mapping more manageable.
- Lightspeed - Making on-screen navigation as quick and efficient as possible.
- ai.vim - Minimalist Neovim plugin for generating and editing text using OpenAI and GPT.
- nvim-bufferline.lua - Snazzy bufferline for Neovim.
- Which Key - Displays a popup with possible keybindings of the command you started typing.
- nvim-notify - Fancy, configurable, notification manager for NeoVim.
- nvim-dap-ui - UI for nvim-dap which provides a good out of the box configuration.
- far.vim - Find And Replace.
- LuaSnip - Snippet Engine for Neovim written in Lua.
- marks.nvim - Better user experience for interacting with and manipulating Vim marks.
- TreeSJ - Splitting/joining blocks of code.
- nvim-magic - Pluggable framework for using AI code assistance in Neovim.
- instant.nvim - Collaborative editing in Neovim using built-in capabilities.
- any-jump.vim - Vim code inspection plugin for finding definitions and references/usages.
- FTerm.nvim - No nonsense floating terminal written in lua.
- modes.nvim - Highlight UI elements based on current mode.
- nvim-cmp - Completion plugin for neovim coded in Lua.
- nvim-treesitter-context - Show code context.
- LSP-format.nvim - Wrapper around Neovims native LSP formatting.
- ddu.vim - Dark deno-powered UI framework for neovim/Vim8.
- nvim-comment - Comment toggler for Neovim, written in Lua.
- barbar.nvim - Tabs, as understood by any other editor.
- nvim-lspfuzzy - Neovim plugin to make the LSP client use FZF.
- replacer.nvim - Powerful refactoring tool for nvim.
- Vista.vim - View and search LSP symbols, tags in Vim/NeoVim.
- vim-clap - Modern generic interactive finder and dispatcher.
- nvim-lsp-installer - Companion plugin for nvim-lspconfig that allows you to seamlessly install LSP servers locally.
- vim-picker - Vim plugin for fuzzy selection of files, buffers, tags, and more.
- Conjure - Interactive evaluation for Neovim (Clojure, Fennel, Janet).
- Persistence - Simple session management for Neovim.
- vim-smoothie - Smooth scrolling for Vim done right.
- express.vim - Easily create custom Vim operators using expressions and substitutions.
- completion-nvim - Async completion framework aims to provide completion to neovim's built in LSP written in Lua.
- vim-floaterm - Use nvim/vim's builtin terminal in the floating/popup window.
- WakaTime - Automatic time tracking.
- Dash - Search Dash app.
- Flash - Navigate your code with search labels, enhanced character motions and Treesitter integration.
- Hydra.nvim - Bind a bunch of key bindings together.
- iron.nvim - Interactive Repl Over Neovim.
- Leap.nvim - Motion plugin that keeps you in the zone. (HN)
- flit.nvim - Enhanced f/t motions for Leap.
- vim-be-good - Plugin designed to make you better at vim by creating a game to practice basic movements in.
- context.vim - Vim plugin that shows the context of the currently visible buffer contents.
- Quick scope - Lightning fast left-right movement.
- vim-visual-multi - Multiple cursors project for vim/neovim.
- move - Plugin to move lines and selections up and down.
- Coc - Intellisense engine for vim8 & neovim, full language server protocol support as VSCode.
- nvim-cheat.sh - cheat.sh integration for neovim in elegant way.
- vim-pencil - Rethinking Vim as a tool for writing.
- Mind.nvim - Organizer tool for Neovim. (Video overview)
- NCM2 - Slim, Fast and Hackable Completion Framework for Neovim.
- yaml-companion.nvim - Get, set and autodetect YAML schemas in your buffers.
- nest.nvim - Neovim utility plugin to define keymaps in concise, readable, cascading lists and trees.
- Neoformat - Format code.
- SnippetGenie - Snippet creation tool for Neovim.
- ChatGPT.nvim - Neovim plugin for interacting with OpenAI GPT-3 chatbot, providing an easy interface for exploring GPT-3 and NLP.
- lsp-inlayhints.nvim - Partial implementation of LSP inlay hint.
- rest.nvim - Fast Neovim HTTP client written in Lua.
- Snippets - Snippet files for various programming languages.
- Telescope.nvim - Next generation library for creating floating pickers with advanced features.
- SelectEase - Select text using Treesitter Queries and start typing right away.
- Deoplete - Asynchronous completion framework.
- LanguageClient-neovim - Language Server Protocol (LSP) support for vim and neovim.
- live-command.nvim - Text editing in Neovim with immediate visual feedback.
- Neural - Blazingly fast AI code generation, editing and completion plugin for Neovim.
- Autoformat - Easy code formatting.
- refactoring.nvim - Refactoring library based off the Refactoring book by Martin Fowler.
- traces.vim - Range, pattern and substitute preview for Vim.
- Which key - Show keybindings in popup.
- Sandwich - The set of operator and textobject plugins to search/select/edit sandwiched textobjects.
- sg.nvim - Plugin focused on bringing many of the features of sourcegraph.com into Neovim.
- Titlecase - Titlecase text.
- Neo-Minimap - Plugin for Neovim that lets you create your own "minimap" from Treesitter Queries or Vim Regex.
- neoinclude.vim - Include completion framework for neocomplete/deoplete.
- neosnippet.vim - Adds snippet support.
- nvim-ufo - Make Neovim's fold look modern and keep high performance.
- Polyglot - Solid language pack.
- Heirline.nvim - No-nonsense Neovim Statusline plugin designed around recursive inheritance to be exceptionally fast and versatile.
- Formatter.nvim - Format runner for neovim, written in Lua.
- True Zen - Clean and elegant distraction-free writing for NeoVim.
- Auto save - Automatically save changes to disk.
- Ag - Plugin for the_silver_searcher, 'ag'.
- nvim-various-textobjs - Bundle of more than a dozen new text objects for Neovim.
- Undotree - Undo history visualizer.
- Aerojump - Fuzzy-match searcher/jumper for Neovim with the goal of quick keyboard navigation.
- Tabular - Text filtering and alignment.
- Codeium - Free, ultrafast Copilot alternative for Vim and Neovim.
- vim-ultest - Ultimate testing plugin for (Neo)Vim.
- Easyclip - Simplified clipboard functionality.
- Yank stack - Lightweight implementation of emacs's kill-ring for Vim.
- Better whitespace - Better whitespace highlighting.
- Rename - Rename the current file in the vim buffer + retain relative path.
- Mkdir - Automatically create any non-existent directories before writing the buffer.
- NerdTree - File system explorer.
- Commentary - Comment stuff out.
- NERDTree Git - Plugin of NERDTree showing git status flags.
- Gina - Asynchronously control git repositories.
- Codi - Interactive scratchpad for hackers.
- Vinegar - Enhances netrw.
- Dressing.nvim - Neovim plugin to improve the default vim.ui interfaces.
- command_center.nvim - Create and manage keybindings and commands in a more organized manner, and search them quickly through Telescope.
- chatgpt.vim - Query ChatGPT in Neovim.
- Dirvish - Directory viewer.
- Startup Time - Profile startup time.
- Sneak - Jump to any location specified by two characters.
- Limelight - Highlight only active paragraphs.
- Unimpaired - Pairs of handy bracket mappings.
- Multiple cursors - Sublime Text style multiple selections.
- Table mode - Instant table creation.
- Neovim Treesitter Playground - View treesitter information directly in Neovim.
- Abolish - Search for, substitute, and abbreviate multiple variants of a word.
- Gutentags - Manages your tag files.
- Vimtex - LaTeX support.
- inc-rename.nvim - Incremental LSP renaming based on Neovim's command-preview feature.
- nvim-compleet - Neovim autocompletion framework written in Rust.
- Prettier - Prettier support.
- Goyo - Distraction-free writing.
- Ultisnips - Ultimate snippet solution for Vim.
- Incsearch & Easymotion - Incsearch & easymotion integration.
- Last place - Intelligently reopen files at your last edit position.
- No Neck Pain - Simple plugin to center the currently focused buffer to the middle of the screen.
- Sleuth - Heuristically set buffer options.
- Obsession - Continuously updated session files.
- Wintabs - Modern buffer manager.
- Vim LSP
- Neotest - Extensible framework for interacting with tests within NeoVim.
- incline.nvim - Lightweight floating statuslines for Neovim.
- Fidget.nvim - Standalone UI for nvim-lsp progress.
- Rooter - Changes Vim working directory to project root (identified by presence of known directory or file).
- vimspector - Multi-language debugging system for Vim.
- tabout.nvim - Supercharge your workflow and start tabbing out from parentheses, quotes, and similar contexts today.
- Completor - Async completion framework made ease.
- File Explorer - Simple tree for neovim written in lua.
- Defx - Dark powered file explorer implementation.
- coc-explorer - Explorer for coc.nvim.
- nvim-compe - Auto completion plugin for nvim.
- fzf-preview.vim - coc extensions and Neovim plugin that provides collection of features to assist file management using fzf.
- overseer.nvim - Task runner and job management plugin for Neovim.
- vimspector - Multi language graphical debugger for Vim.
- nvim-lsputils - Better defaults for nvim-lsp actions.
- test.vim - Vim wrapper for running tests on different granularities.
- Sniprun - Code runner plugin for neovim.
- fzf-lsp.nvim - Enable the power of fzf fuzzy search for the neovim built in lsp.
- vim-illuminate - Automatically highlighting other uses of the current word under the cursor.
- Snap - Fast finder system for neovim.
- fwatch.nvim - Lets you watch files or directories for changes and then run vim commands or lua functions.
- Neorg - Life Organization Tool Written in Lua. (HN)
- nabla.nvim - Take your scientific notes in Neovim.
- Copilot.vim - Neovim plugin for GitHub Copilot.
- harpoon - Get you where you want with the fewest keystrokes.
- ddc.vim - Dark deno-powered completion framework for neovim/Vim8.
- mini.nvim - Collection of minimal, independent, and fast Lua modules dedicated to improve Neovim.
- lualine.nvim - Blazing fast and easy to configure neovim statusline plugin written in pure lua.
- nvim-spectre - Search panel for neovim.
- Fine Command Line - Enter ex-commands in a nice floating input.
- Searchbox - Start your search from a more comfortable place, say the upper right corner.
- Vim Highlighter - Highlight words and expressions.
- Octo.nvim - Edit and review GitHub issues and pull requests from the comfort of your favorite editor.
- Comment.nvim - Smart and Powerful commenting plugin for neovim.
- aerial.nvim - Neovim plugin for a code outline window.
- virtual-types.nvim - Shows type annotations for functions in virtual text using built-in LSP client.
- sqls.nvim - Neovim plugin for sqls that leverages the built-in LSP client.
- Neo-tree - Neovim plugin to manage the file system and other tree like structures.
- lazy-lsp.nvim - Neovim plugin to auto install LSP servers.
- Noice - Highly experimental plugin that completely replaces the UI for messages, cmdline and the popupmenu.
- nvim-lsp-compl - Fast and asynchronous auto-completion plugin for Neovim, focused on LSP.
- inlay-hints.nvim - Neovim support for LSP Inlay Hints.
- hover.nvim - Hover plugin framework for Neovim.
- TreeSetter - Place equals, semicolons, commas and double points automatically for you.
Looks
- GitHub theme - Github theme for Neovim, Kitty, and Alacritty written in Lua.
- Noirbuddy - Highly customizable minimalist monochromatic colorscheme for Neovim.
- GitHub Colors
- Embark Vim Theme
- Dracula
- Lightline - Light and configurable statusline/tabline.
- Dev icons - Adds file type glyphs/icons to popular Vim plugins.
- Bufferline - Show the list of buffers in the command bar.
- Airline - Lean & mean status/tabline.
- Airline themes - Collection of themes for Airline.
- vim-colors-xcode - Xcode 11’s dark and light colourschemes, now for Vim.
- galaxyline.nvim - Neovim statusline plugin written in lua.
- Lush - Define Neovim themes as a DSL in lua, with real-time feedback.
- neoline.vim - Status Line for Neovim focused on beauty and performance.
- Gruvbox 8 - Simplified and optimized Gruvbox colorscheme for Vim.
- Nightfox - Dark Neovim theme written in lua.
- Rosé Pine - Soho vibes for Neovim.
- Kanagawa - NeoVim dark colorscheme inspired by the colors of the famous painting by Katsushika Hokusai.
- Catppuccin for NeoVim
- Pets.nvim - Display pets in your editor.
Syntax
- Vim caddyfile - Caddyfile syntax support.
JavaScript
- Tern - Provides Tern-based JavaScript editing support.
- Deoplete Tern.js
TypeScript
- Tsuquyomi - Make your Vim a TypeScript IDE.
Rust
Python
- Deoplete Jedi - Deoplete source for jedi.
Go
- go.nvim - Modern Go development plugin for Neovim, based on nvim-lsp, treesitter and Dap.
- Vim Go - Go development.
- Nvim Go - Go development plugin written in pure Go.
- Deoplete Go - Asynchronous Go completion.
C
- Deoplete clang - Deoplete source for C/C++/Obj-C/Obj-C++.
Rust
Git
- Gitv - See Git branching history.
- Gitgutter - Shows git diff in the gutter (sign column) and stages/undoes hunks.
- vimagit - Ease your git workflow within vim.
- Neogit - Magit for neovim.
- gitsigns.nvim - Git integration for buffers.
Markdown
- Markdown Preview for Neovim
- mkdx.vim - Vim plugin that adds some nice extra's for working with markdown documents.
Lightline
- lightline-ale - Provides ALE indicator for the lightline vim plugin.
OCaml
- Merlin - Context sensitive completion for OCaml in Vim and Emacs.
Vim
- Neco - Vim source for neocomplete/deoplete.
Clojure
- vim-iced - Clojure Interactive Development Environment for Vim8/Neovim.
Ruby
- Endwise - Wisely add "end" in ruby, endfunction/endif/more in vim script, etc.
Nix
- telescope-manix - Fast documentation searcher for Nix.
Reason
- vim-reasonml - Esy + vim + reason +the latest Merlin.
Links
- Begin with init.vim - Minimal neovim distribution as init.vim.
- What is the most underrate vim plugin you use? (2018)
- Vim plugins I use (2018)
- Overview of what belongs in each directory of a Vim plugin
- Vim Awesome - Awesome Vim plugins from across the universe. (Code)
- vim-plug - Minimalist Vim Plugin Manager.
- dein.vim - Dark powered Vim/Neovim plugin manager.
- Paq - Neovim package manager written in Lua.
- Neovim Lua Debug Adapter - Debug Adapter that allows debugging lua plugins written for Neovim.
- Awesome Neovim Plugins
- nvim-fzf - Lua API for using fzf in neovim.
- defaults.nvim - Small, featureful neovim template.
- packer.nvim - use-package inspired plugin manager for Neovim.
- lsp-status.nvim - Utility functions for getting diagnostic status and progress messages from LSP servers, for use in the Neovim statusline.
- nvim-lsp-ts-utils - Utilities to improve the TypeScript development experience for Neovim's built-in LSP client.
- nui.nvim - UI Component Library for Neovim.
- neovimcraft - Search through our curated list of neovim plugins. (Code)
- kyoto.nvim - Fast, functional and beautiful Neovim configuration.
- NvChad - Attempt to make neovim cli as functional as an IDE while being very beautiful , blazing fast.
- VimScript Language Server
- Denops - Ecosystem of Vim/Neovim which allows developers to write cross-platform plugins in Deno.
- impatient.nvim - Improve startup time for Neovim.
- From init.vim to init.lua (2021)
- lsp-command - Command interface for neovim LSP.
- dep - Versatile, declarative and correct neovim package manager in lua. (Why I wrote my own package manager)
- Neovim from scratch - Neovim config designed from scratch to be understandable.
- nvimdots - Well configured and structured Neovim.
- nvim-luadev - REPL/debug console for nvim lua plugins.
- stylish.nvim - Stylish UI components for Neovim.
- AstroVim - Aesthetic and feature-rich neovim config that is extensible and easy to use with a great set of plugins.
- Nyoom.nvim - Blazing fast, configurable, minimal and lispy neovim config written in Fennel.
- vim-jetpack - Lightning-fast minimalist plugin manager for Vim/Neovim.
- Ultimate vimrc
- Litee.nvim - Library for building "IDE-lite" experiences in Neovim.
- boilit - Create boilerplate structure for neovim plugins.
- Pynvim - Python client and plugin host for Nvim.
- Neovim package specification
- Vim Color Schemes (HN)
- Neogen - Better annotation generator. Supports multiple languages and annotation conventions.
- typescript.nvim - Lua plugin, written in TypeScript, to write TypeScript (Lua optional).
- LSP Zero - Starting point to setup some lsp related features in neovim.
- Viper - Fast CLI plugin manager for (neo)vim.
- nvim-rs - Rust library for neovim clients.
- Max's neovim config
- SchemaStore.nvim - Neovim Lua plugin providing access to the SchemaStore catalog.
- Volt - Meta-level vim package manager.
- tasks.nvim - Task runner/manager for Neovim.
- Basic Stable IDE config for Neovim
- mason.nvim - Lightweight package manager for Neovim that runs everywhere Neovim runs. Easily install and manage LSP servers, DAP servers, linters, and formatters.
- Neovim KISS configuration with Lua
- NixVim - Configure Neovim with Nix.
- Neovim - Build UI using nui.nvim (2021)
- lua-dev - Dev setup for init.lua and plugin development with full signature help, docs and completion for the nvim lua API.
- Maddison's Neovim configuration
- LVIM IDE - Modular Neovim configuration written in Lua with full customization.
- ThePrimeagen's init.lua
- Nice starting point for Neovim
- lazy.nvim - Modern plugin manager for Neovim.
- Neovim plugin boilerplate - Minimal Neovim plugin boilerplate with already configured CI, docs and tests.
- LazyVim - Starter template for lazy Neovim users. (Docs) (HN)
- jdhao's Neovim config
- BetterNvim - Modern Neovim setup, makes nvim an IDE.
- Starter template for LazyVim
- Nv - Neovim setup based on LazyVim.
- Personal list of Neovim plugins
- AstroNvim - Aesthetic and feature-rich Neovim config. (HN)
- NixNeovimPlugins - Makes all neovim plugins available in nix.
- NixNeovim - Configure Neovim with Nix.
- nfnl - Enhance your Neovim with Fennel.
- WASM_NVIM - Library to interface between Lua, and WASM, for enabling communication between plugins and the Neovim APIs.