What are your must-have vim/nvim extensions?

This page summarizes the projects mentioned and recommended in the original post on reddit.com/r/vim

Our great sponsors
  • Scout APM - Less time debugging, more time building
  • SonarLint - Deliver Cleaner and Safer Code - Right in Your IDE of Choice!
  • JetBrains - Developer Ecosystem Survey 2022
  • vim-surround

    surround.vim: Delete/change/add parentheses/quotes/XML-tags/much more with ease

    tpope/vim-surround - Modify surrounders. Should be a vim native feature.

  • vim-mundo

    :christmas_tree: Vim undo tree visualizer

    simnalamburt/vim-mundo - Undo tree antics. Hard to live without.

  • Scout APM

    Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.

  • fzf

    :cherry_blossom: A command-line fuzzy finder

    fzf & fzf.vim

  • fzf.vim

    fzf :heart: vim

    fzf & fzf.vim

  • ReplaceWithRegister

    Replace text with the contents of a register.

    Someone shared ReplaceWithRegister in a previous thread about plugins. It's become my most used.

  • vim-gitgutter

    A Vim plugin which shows git diff markers in the sign column and stages/previews/undoes hunks and partial hunks.

    And gitgutter.

  • lightspeed.nvim

    🌌 Next-generation motion plugin using incremental input processing, allowing for unparalleled speed with minimal cognitive effort

    I just set up https://github.com/ggandor/lightspeed.nvim, and it's simply amazing for moving to precise locations. It's basically vim-sneak but much much more precise

  • SonarLint

    Deliver Cleaner and Safer Code - Right in Your IDE of Choice!. SonarLint is a free and open source IDE extension that identifies and catches bugs and vulnerabilities as you code, directly in the IDE. Install from your favorite IDE marketplace today.

  • coc-ccls

    CCLS (C/C++) extension for coc.nvim

    neoclide/coc.nvim - LSP

  • NrrwRgn

    A Narrow Region Plugin for vim (like Emacs Narrow Region)

    chrisbra/NrrwRgn - Opens focussed part "region" of the buffer

  • vim-sort-motion

    Vim mapping for sorting a range of text

    christoomey/vim-sort-motion - Can sort a text object with gs

  • vim-titlecase

    Teach Vim about titlecase, with support for motions and text objects

    christoomey/vim-titlecase - Can convert a text object to title case

  • ale

    Check syntax in Vim asynchronously and fix files, with Language Server Protocol (LSP) support

    dense-analysis/ale - Linter + LSP

  • taboo.vim

    Few utilities for pretty tabs

    gcmt/taboo.vim - Tab page utilities like renaming etc.

  • gruvbox

    Retro groove color scheme for Vim - community maintained edition (by gruvbox-community)

    gruvbox-community/gruvbox - My currently preferred color theme

  • vim-test

    Run your tests at the speed of thought

  • vim-textobj-entire

    Vim plugin: Text objects for entire buffer

    kana/vim-textobj-entire - Make entire buffer available as a text object

  • vim-textobj-user

    Vim plugin: Create your own text objects

    kana/vim-textobj-user - Make your own text objects

  • vim-gutentags

    A Vim plugin that manages your tag files

    ludovicchabant/vim-gutentags - Tags

  • tagbar

    Vim plugin that displays tags in a window, ordered by scope

  • emmet-vim

    emmet for vim: http://emmet.io/

    mattn/emmet-vim - Impossible to do HTML/CSS without

  • vim-startify

    :link: The fancy start screen for Vim.

    mhinz/vim-startify - Start page

  • vim-indent-guides

    A Vim plugin for visually displaying indent levels in code

    nathanaelkane/vim-indent-guides - Visualize indent levels

  • vim-cool

    A very simple plugin that makes hlsearch more useful.

    romainl/vim-cool - Disables search highlights after using. Minor but nice.

  • vim-closer

    Closes brackets

    rstacruz/vim-closer - Closes brackets automatically

  • tcomment_vim

    An extensible & universal comment vim-plugin that also handles embedded filetypes

    tomtom/tcomment_vim - Does embedded filetypes unlike tpope/vim-commentay

  • vim-airline

    lean & mean status/tabline for vim that's light as air

    vim-airline/vim-airline - My preferred status bar with many integrations

  • minimap.vim

    📡 Blazing fast minimap / scrollbar for vim, powered by code-minimap written in Rust.

    wfxr/minimap.vim - VSCode style mini maps

  • goyo.vim

    :tulip: Distraction-free writing in Vim

    junegunn/goyo.vim - Distraction free writing window ala iAWriter

  • vim-easy-align

    :sunflower: A Vim alignment plugin

    junegunn/vim-easy-align - Aligns text. Accepts text objects.

  • vim-peekaboo

    :eyes: " / @ / CTRL-R

    junegunn/vim-peekaboo - See contents of registers before pasting on a sidebar

  • vim-abolish

    abolish.vim: easily search for, substitute, and abbreviate multiple variants of a word

    tpope/tpope-vim-abolish - Sane search/replace

  • vim-endwise

    endwise.vim: Wisely add

    tpope/vim-endwise - Closes blocks like do-end etc.

  • vim-eunuch

    eunuch.vim: Helpers for UNIX

    tpope/vim-eunuch - UNIX command helpers like Remove/Delete etc.

  • vim-fugitive

    fugitive.vim: A Git wrapper so awesome, it should be illegal

    tpope/vim-fugitive - Don't git without this

  • vim-repeat

    repeat.vim: enable repeating supported plugin maps with "."

    tpope/vim-repeat - Bunch more repeatable actions with dot

  • vim-rsi

    rsi.vim: Readline style insertion

    tpope/vim-rsi - Readline key bindings

  • vim-unimpaired

    unimpaired.vim: Pairs of handy bracket mappings

    tpope/vim-unimpaired - Many useful common sense mappings

  • vim-vinegar

    vinegar.vim: Combine with netrw to create a delicious salad dressing

    tpope/vim-vinegar - netrw replacement

  • targets.vim

    Vim plugin that provides additional text objects

    targets.vim improves a bunch of textobjects, i.e. seeking the next pair if you are outside of one

  • Gistory.vim

    A better git blame

    gistory.vim search commits changing specific lines/text, diff commits, run code formatter for diffs

  • vim-easymotion

    Vim motions on speed!

    easymotion/vim-easymotion to move the cursor without having to think at all

  • parinfer-rust

    A Rust port of parinfer.

    eraserhd/parinfer-rust if you do any sort of Lisp programming

  • vim-arpeggio

    Vim plugin: Mappings for simultaneously pressed keys

    kana/vim-arpeggio for the jk ==> mapping

  • pear-tree

    A Vim auto-pair plugin that supports multi-character pairs, intelligent matching, and more

    tmsvg/pear-tree for an extensible autocloser (I hate closing GHC {-# LANGUAGE ... #-} myself, and it's not built into any of the common plugins AFAIK)

  • vim-sandwich

    Set of operators and textobjects to search/select/edit sandwiched texts.

    machakann/vim-sandwich for an alternative to tpope/vim-surround. When you need it, the i surrounding is unbelievably convenient to insert/delete/change arbitrary delimiters, e.g. saipglBegin(mode);glEnd();.

  • vim-buftabline

    Forget Vim tabs – now you can have buffer tabs

    ap/vim-buftabline for buffer line

  • tabular

    Vim script for text filtering and alignment

    godlygeek/tabular for aligning things, sometimes useful

  • vim-sleuth

    sleuth.vim: Heuristically set buffer options

    I'm surprised nobody has mentioned tpope/vim-sleuth, which automatically sets tabstop and shiftwidth to agree with the current file or project.

  • vim-ReplaceWithSameIndentRegister

    Replace lines with the contents of a register, keeping the original indent.

    There is also ReplaceWithSameIndentRegister.

  • vim-hexokinase

    hexokinase.vim - (Neo)Vim plugin for asynchronously displaying the colours in the file (#rrggbb, #rgb, rgb(a)? functions, hsl(a)? functions, web colours, custom patterns)

    Haven't seen anyone mention Hexokinase yet, but it's the best plugin I've used for displaying colours mentioned in files - especially useful for CSS and theme files.

  • golden-ratio

    Automatic resizing of Vim windows to the golden ratio

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts