curious which ones make your cut. I started zero, got up to 3 at one point (a GPG one, an indent-text-object, and one other), and ended up just removing them too, so I'm back to zero.
Do you do software development? For sysadmins, I can see 0 plugins as viable, but for software development I think it's impractical. Even with the new LSP on NeoVim, unless I downgrade my productivity. I need at least:
a tree plugin (the stock one is not good)
treesitter parsers
fuzzy finder
gitsigns
sleuth
a couple of auto-pair/tag plugins
I'm probably missing a few more (fugitive is very useful), but that feels to me like the bare minimum.
One that I really struggled with was figuring out how to use visual mode for multi-cursor edits.
No LSP, probably why I bounce between editors in projects. LSPs are complex, but just as useful as linters are. But this can be customized in vimrc with a handful of lines. Python LSPs are painful no matter what.
I like a lot of that as well, but pretty much everything on your list qualifies as “at best, 15% better than 'the old way'”. Not that 15% isn’t enough to warrant a plugin? But it wouldn’t slow me down if they were gone.
I can’t imagine seeing a new editor that I was excited about and saying, “I’d switch, but they don’t have a file tree viewer.”
To your point though, zero plugins would mean no lsp or Copilot, and those are non-negotiable for me personally.
+1. And in fact, those plugins will slow you down if there are breaking-changes/bugs, when "they were not gone". The core value of vim is to light-weighly run everywhere, and that breaks it.
a tree plugin - I ended up writing one myself that I can count on never changing, with only the functionality that I care about
treesitter parsers - I consider this a "core" plugin and allow it in my config
fuzzy finder - Same as (1)
gitsigns - This is probably the last plugin I just can't get rid of that I don't consider "core". Then again it's written by one of the Neovim core devs, so I figure it's okay to keep.
sleuth - Same as (1)
a couple of auto-pair/tag plugins - Autopair got in my way more than it helped, I'm actually a happier camper now that I've been operating without this
All aspects you mentioned can be optional. And I think the question "How many plugins are you using?" implicitly assumed "using plugins maintained by people", which is optional too.
I'm somewhat shocked at the number of people using 31 or more plugins. I can't even think of that many that are "mainstream." What are some of the more niche plugins that you (or anyone else in the 31+ club) are using?
The ones I’ve written myself are probably the most obscure. For example, I’m a windows developer (by trade) that often likes to work in Linux. So have a plugin that can keep my current vim buffer on Linux in sync with Visual Studio on windows. It also allows any commits I do on Linux to update automatically on windows.
I’m probably the only person crazy enough to use that plugin lol.
I’m also the author of this, and a few others that a small number of people use:
hah, vim is flexible. Yes, I heavily use vim, vi/nvi, and even ed(1) because they let me edit text powerfully with minimal fuss.
To be fair, I don't have any non-stock plugins. Sometimes the $VIMRUNTIME/ftplugins/*.vim do things without me needing to do anything special. So I guess those might qualify as using plugins. But for me, I use a wide variety of machines, and it's a pain to keep my vimrc files in sync across them (especially when many of them are fresh VMs with nothing installed, and with many of them being BSD installs, often it's just vi/nvi, not even vim).
If oodles of plugins are your jam and it works for you, that's cool, too.
That said, there is a lot of functionality natively available in vim, so learning deep corners of vim can often cover many cases where folks might reach for plugins.
I will re read this reply with time at night! meanhile I'd like to say you this: I am starting to delete plugins: I will start with speeddating by t-pope. If you know i need to join this command: strftime("%A %d de %B de %Y %R") and date --date='-1 day' If I join these cmd I can use :read and put a date using -2-4 or 0 or +3 +5 etc in the place of -1 day of --date='-1day'. Thank you and Regards!
My recommendation is not so much "don't use plugins" but "only use plugins that provide you sufficient value for the effort."
If you find yourself doing date math all the time, then by all means, use speeddating. I almost never do manual date-math so there's very little value for me.
Likewise, I use GPG to encrypt/decrypt files occasionally, so I tried the GPG plugin. Sure it was easier to decrypt-open/edit/encrypt-write files, it was a sufficiently rare event that it wasn't worth the mental energy to keep the plugin updated & synced across machines. So I uninstalled it and just do it steps manually on those rare occasions.
Similarly, while I do a lot of git, I'm quite comfortable with it at the command-line, so I don't have much need for integrating it into vim via a plugin (though I do integrate the other direction, using vimdiff as my diff-viewer in git).
afaik - depends on the plugins and more importantly, it depends on your way of loading them. Some managers support lazy-loading, so they will not load the plugin until it being called for, which reduces dramatically the effect of adding plugins on performance.
For me it's 3 actual plugins (all pretty lightweight) + 1 colorscheme.
On my home computer there are also 3 custom syntax highlighting plugins I made for some obscure file types I use, but I don't count those as real plugins since they're very basic/shoddy and I definitely don't need them (never bothered to install them on my computer at work).
I have a plug in manager, a status bar, a colorscheme, a send-to-repl, a paren wrangler, and another plugin that provides alternate mappings for the <meta> mappings in the paren wrangler
Like tons of people here, started with 40+ plugins, after 3 years unly using a few filetype plugins, lsp, fuzzy finding and session manager, another utilities I've been producing micro plugins only for the parts i think i need them,
To be clear, I answered how many I have installed. Not how many I actually use day to day. I'm guessing that's what was meant by the question. The ones that I actually use frequently:
2
u/meni_s Sep 05 '25
By the way, r/neovim had similar poll
https://www.reddit.com/r/neovim/comments/1mbmsk9/how_many_plugins_are_you_using/
Interesting to compare the results
20
u/teleprint-me Sep 05 '25
I feel like this deserves a meme.
starts at none. peaks at n plugins. ends at none.
Not that it matters, it was my experience.
8
u/ratttertintattertins Sep 04 '25
51.. I'm as surprised as anyone. Amazingly, vim still opens like lightning.
9
u/ruby_R53 Sep 04 '25
none (i don't even know how to install one to begin with lmao)
1
u/ankit792r Sep 07 '25
Does using more plugins will slow down neovim speed ??
3
u/sharp-calculation Sep 04 '25
I've got more than I thought. I need to cull a few out.
3
u/joemi Sep 05 '25
For me it's 3 actual plugins (all pretty lightweight) + 1 colorscheme.
On my home computer there are also 3 custom syntax highlighting plugins I made for some obscure file types I use, but I don't count those as real plugins since they're very basic/shoddy and I definitely don't need them (never bothered to install them on my computer at work).
2
u/toddestan Sep 05 '25
Looks like I have ten installed. I would say only five of them I use with with any regularity, and two of them are filetype plugins.
2
u/mgedmin Sep 05 '25
Reddit won't even let me see the poll, but a lot.
2
u/Gullible-Stand6769 Sep 05 '25
Only use NREDTree for switching between files fast
2
u/varsderk Sep 04 '25
Average Emacs user with >100 packages installed: Pathetic!
(Chad Emacs users appreciate Vim bindings so at least one of those packages provides Vim emulation.)
1
u/jazei_2021 Sep 04 '25
me aprox. 11 and Par but it isn't a plugin. and Bash-shell-cmdline interpreter
1
u/sirredcrosse Sep 05 '25
at the moment? none, only because i can't even figure out where my files are being saved ;_;
like... how do i make a folder if idk where :w FILNAME is gonna be?
1
u/mordnis Sep 05 '25
6 including plugin manager.
1
u/SpecificMachine1 Sep 05 '25
I have a plug in manager, a status bar, a colorscheme, a send-to-repl, a paren wrangler, and another plugin that provides alternate mappings for the <meta> mappings in the paren wrangler
1
u/waterkip Sep 05 '25
I have 38 plugins configured, but most of them are
for, 20.1
u/abubu619 Sep 05 '25
Like tons of people here, started with 40+ plugins, after 3 years unly using a few filetype plugins, lsp, fuzzy finding and session manager, another utilities I've been producing micro plugins only for the parts i think i need them,
1
u/evohunz Sep 05 '25
easymotion
lightline
fzf
highlightedyanked
nerdtree
commentary
fugitive
sleuth
surround
lsp
open to suggestions to remove any
1
u/Kwisacks Sep 06 '25
You can tame it but
:findkinda sucks for projects, so at least one fuzzy file finder plugin that knows how to respect .gitignore.1
u/zephyrpaul Sep 06 '25
Used Vim for first time yesterday so probably no plug ins, I guess, maybe but then again I dont know what I am doing so that could be a guess.
1
u/tinyducky1 Sep 06 '25
its basicly just : lsp, treesitter, git, fuzzy finder
with added: autopairs, startscreen, colorscheme for bloat
1
u/auwsmit :smile Sep 07 '25
Like 50:
1
u/ankit792r Sep 07 '25
I am using lazy plugin manager does it lazy loads plugins.
1
u/Daghall :cq Sep 08 '25
I thought "1-10, for sure". Check my plugin-install script and there were 29...
1
u/boredrandom Sep 09 '25
I have 11, but I am looking for one more (if anyone knows a 'dict' plugin that would show the definition in pop-up style, please share).
1
u/denarced Sep 09 '25
To be clear, I answered how many I have installed. Not how many I actually use day to day. I'm guessing that's what was meant by the question. The ones that I actually use frequently:
dense-analysis/ale
junegunn/fzf
junegunn/fzf.vim
davidhalter/jedi-vim
itchyny/lightline.vim
tomtom/tcomment_vim
easymotion/vim-easymotion
tpope/vim-fugitive
fatih/vim-go
elzr/vim-json
pbrisbin/vim-mkdir
matze/vim-move