TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Vim plugins I use

183 pointsby prakashdanishalmost 7 years ago

24 comments

jherdmanalmost 7 years ago
Here are some I find invaluable:<p>* FZF. Perhaps the best fuzzy finder for Vim <a href="https:&#x2F;&#x2F;github.com&#x2F;junegunn&#x2F;fzf&#x2F;" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;junegunn&#x2F;fzf&#x2F;</a><p>* ALE. Asynchronous Linting Engine, totally awesome. <a href="https:&#x2F;&#x2F;github.com&#x2F;w0rp&#x2F;ale" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;w0rp&#x2F;ale</a><p>* Polyglot. A &quot;best of&quot; language pack. <a href="https:&#x2F;&#x2F;github.com&#x2F;sheerun&#x2F;vim-polyglot" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;sheerun&#x2F;vim-polyglot</a><p>* Plug. IMHO the best plugin manager going <a href="https:&#x2F;&#x2F;github.com&#x2F;junegunn&#x2F;vim-plug" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;junegunn&#x2F;vim-plug</a>.<p>* Fugitive. The best git wrapper there is <a href="https:&#x2F;&#x2F;github.com&#x2F;tpope&#x2F;vim-fugitive" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;tpope&#x2F;vim-fugitive</a><p>* vim-test. A plugin that helps you run tests from inside of Vim. <a href="https:&#x2F;&#x2F;github.com&#x2F;janko-m&#x2F;vim-test" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;janko-m&#x2F;vim-test</a><p>Outside of that, switch to NeoVim if you haven&#x27;t already (<a href="https:&#x2F;&#x2F;neovim.io&#x2F;" rel="nofollow">https:&#x2F;&#x2F;neovim.io&#x2F;</a>). Or give Oni a chance, it looks really promising (<a href="https:&#x2F;&#x2F;www.onivim.io&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.onivim.io&#x2F;</a>).
评论 #17431124 未加载
评论 #17431155 未加载
评论 #17456250 未加载
mhdalmost 7 years ago
Let&#x27;s get this out of the way: &quot;How to Do 90% of What Plugins Do (With Just Vim)&quot;: <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=XA2WjJbmmoM" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=XA2WjJbmmoM</a><p>And if you want to see some crazy vim usage, there&#x27;s always Damian Conway: <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=aHm36-na4-4" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=aHm36-na4-4</a>
评论 #17442975 未加载
snarfyalmost 7 years ago
I gave up trying to make Vim into an IDE. It&#x27;s a text editor. It&#x27;s an excellent one, but that&#x27;s what it does. The plugins just aren&#x27;t very good. NerdTree is not a good file browser. None of the autocomplete&#x2F;intellisense works very well. It does work, but requires a lot of setup, and let&#x27;s be honest, a TUI isn&#x27;t the best way to interact with autocomplete dropdowns.<p>Most of the IDEs have vim like features or plugins. It works a lot better the other way - make your IDE into Vim.
评论 #17431448 未加载
评论 #17431746 未加载
评论 #17431460 未加载
评论 #17431661 未加载
评论 #17431381 未加载
评论 #17432661 未加载
评论 #17431471 未加载
评论 #17431794 未加载
评论 #17433146 未加载
ddevaultalmost 7 years ago
This list is far from conservative. Vim isn&#x27;t an IDE and shouldn&#x27;t be made into one - effective vim users ^z out of vim and use Unix as their IDE.<p>Here&#x27;s my more conservative plugin list:<p><a href="https:&#x2F;&#x2F;git.sr.ht&#x2F;~sircmpwn&#x2F;dotfiles&#x2F;tree&#x2F;.vimrc" rel="nofollow">https:&#x2F;&#x2F;git.sr.ht&#x2F;~sircmpwn&#x2F;dotfiles&#x2F;tree&#x2F;.vimrc</a><p>fugitive: I use this for the sole purpose of :Gblame because the command line blame tool that ships with git is frustrating to use.<p>ctrlp is there for opening files quickly in large codebases. It&#x27;s better than NerdTree and fits more nicely into my workflow.<p>surround should be built into vim.<p>editorconfig is useful because I work on a large variety of projects.<p>The rest of the plugins are syntax highlighting related. ctrlp and surround are the only ones which meaningfully change the experience of using vim.
评论 #17431583 未加载
评论 #17432481 未加载
评论 #17431520 未加载
crehnalmost 7 years ago
I personally use no plugins [1]. Zero friction moving from host to host. Vim is a great text editor, not a great IDE. For anything more sophisticated I prefer just switching to something like VS Code (with Vim bindings of course).<p>[1] <a href="https:&#x2F;&#x2F;github.com&#x2F;hoffa&#x2F;dotfiles&#x2F;blob&#x2F;master&#x2F;.vimrc" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;hoffa&#x2F;dotfiles&#x2F;blob&#x2F;master&#x2F;.vimrc</a>
评论 #17432648 未加载
评论 #17431761 未加载
评论 #17480493 未加载
评论 #17431934 未加载
aquovaalmost 7 years ago
People seem to swear by NerdTree, but I personally don&#x27;t see the purpose of it. Sure it may be nice to see your file structure sometimes, but having a terminal open or even just the actual folder window open solves that. Everything else can be done with the built-in :Ex command, which lets you navigate to open files, create new files, rename, delete, mostly everything you want.<p>As for other plug-ins, there are a few I would recommend (can you tell I&#x27;m a Tim Pope fan?):<p>- vim-commentary: Gives bindings for commenting out code quickly: <a href="https:&#x2F;&#x2F;github.com&#x2F;tpope&#x2F;vim-commentary" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;tpope&#x2F;vim-commentary</a><p>- vim-surround: Easily surround selected text with symbols: <a href="https:&#x2F;&#x2F;github.com&#x2F;tpope&#x2F;vim-surround" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;tpope&#x2F;vim-surround</a> - vim-unimpared: Adds bindings for some misc. commands, like enabling relative line numbers and spellcheck: <a href="https:&#x2F;&#x2F;github.com&#x2F;tpope&#x2F;vim-unimpaired" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;tpope&#x2F;vim-unimpaired</a><p>- vim-repeat: Allows many more commands to be repeated with . : <a href="https:&#x2F;&#x2F;github.com&#x2F;tpope&#x2F;vim-repeat" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;tpope&#x2F;vim-repeat</a><p>- VimCompletesMe: A much more bare-bones auto-completion tool than YouCompleteMe, hitting tab gives you matches from your previously typed text. It&#x27;s also all in vimscript so it&#x27;s much easier to install and manage: <a href="https:&#x2F;&#x2F;github.com&#x2F;ajh17&#x2F;VimCompletesMe" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;ajh17&#x2F;VimCompletesMe</a><p>- Pathogen: A plug-in manager, if you can call it that. It simply re-adjusts the file paths so you can centralize your plugin directory. Some plug-in managers will auto-update, but I never liked that, just run git pull if you wish to update a plugin: <a href="https:&#x2F;&#x2F;github.com&#x2F;tpope&#x2F;vim-pathogen" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;tpope&#x2F;vim-pathogen</a><p>There are some other cosmetic ones I like as well, like airline, and vim-highlightyank, but that&#x27;s a personal preference.
评论 #17432672 未加载
tomxoralmost 7 years ago
&gt; vim-gitgutter<p>I&#x27;m not a vim user (yet), but this feature is built into Atom and I&#x27;ve come to find it indispensable. I&#x27;m a bit of a commit diff freak (I like it neat and tidy), and once i&#x27;ve finished messing around on some branch I want to gradually converge to some simple differences, a git diff type gutter is really helpful in visualising (&quot;watch git..&quot; can come close but nothing is as good as in editor integration).
tcbawoalmost 7 years ago
If you write C or C++, this script is handy for switching between source and header files: <a href="https:&#x2F;&#x2F;github.com&#x2F;vim-scripts&#x2F;a.vim" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;vim-scripts&#x2F;a.vim</a>
jharealmost 7 years ago
It&#x27;s simple but tpope&#x2F;vim-surround is another favorite. Pope pope pope pope.
评论 #17431116 未加载
epicidealmost 7 years ago
I like that the intro paragraph discusses the pros and cons of vanilla vs plugins.<p>For those that want to take a look at some more vanilla approaches to some common tasks, Max Cantor has a great talk about that on YouTube [0].<p>[0]: <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=XA2WjJbmmoM" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=XA2WjJbmmoM</a>
babyalmost 7 years ago
How is the plugin management in vim? I use emacs and it’s a pain to setup. You need to modify a config file (.emacs) in order to add plugin lists (melpa). You then browse the list through a shortcut (M-x list-packages) and you only see names, no description or ways to look for something specific. Once you installed your plugins there are no real way to access a manual or learn them. Often you will need to modify config files to make them usable.
评论 #17431195 未加载
评论 #17431548 未加载
评论 #17432361 未加载
评论 #17476812 未加载
评论 #17431110 未加载
评论 #17431316 未加载
评论 #17431610 未加载
SebNag_almost 7 years ago
Missing the most important one:<p><a href="https:&#x2F;&#x2F;valloric.github.io&#x2F;YouCompleteMe&#x2F;" rel="nofollow">https:&#x2F;&#x2F;valloric.github.io&#x2F;YouCompleteMe&#x2F;</a><p>:)
评论 #17431211 未加载
sandovalmost 7 years ago
I&#x27;ve doubted for long about learning Vim or Emacs.<p>I like the default vim keybindings, but I don&#x27;t like having to install plugins in order to make my editor usable, I like the batteries-included concept.<p>But when I try to learn Emacs I can&#x27;t accept the fact that I have to press M-v to go up one screenful. It must become really uncomfortable really fast.
评论 #17432541 未加载
icc97almost 7 years ago
I spent a day or two recently figuring out how to get the vim-airline (aka powerline) icons to work properly, going through pretty much every single font&#x2F;theme option on Windows (even in the DOS prompt) and Linux. I added a dummies guide [0] to the Wiki.<p>For a Windows console user - it&#x27;s worth noting that since they got 24-bit colours working in the console the work is now on-going to get the colours properly working in terminal Vim [1].<p>[0]: <a href="https:&#x2F;&#x2F;github.com&#x2F;vim-airline&#x2F;vim-airline&#x2F;wiki&#x2F;Dummies-Guide-to-Powerline-fonts-on-Fedora,-Ubuntu-and-Windows" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;vim-airline&#x2F;vim-airline&#x2F;wiki&#x2F;Dummies-Guid...</a><p>[1]: <a href="https:&#x2F;&#x2F;github.com&#x2F;vim&#x2F;vim&#x2F;pull&#x2F;2060" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;vim&#x2F;vim&#x2F;pull&#x2F;2060</a>
h43zalmost 7 years ago
The build in vim alternatives for<p>nerdtree :E&lt;CR&gt;<p>fuzzy finding :e <i></i>&#x2F;index&lt;Tab&gt; (index being part of filename)<p>autocompletion &lt;CTRL-P&gt; while in insert mode and typing word
nyolfenalmost 7 years ago
no mention of my favorite, vimwiki:<p><a href="https:&#x2F;&#x2F;github.com&#x2F;vimwiki&#x2F;vimwiki" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;vimwiki&#x2F;vimwiki</a>
Zeetahalmost 7 years ago
Is there anything for Vim that mimics the Syntax formatting of Source Insight (<a href="https:&#x2F;&#x2F;www.sourceinsight.com&#x2F;doc&#x2F;v4&#x2F;userguide&#x2F;Manual&#x2F;Concepts&#x2F;Syntax_Formatting_and_Styles.htm" rel="nofollow">https:&#x2F;&#x2F;www.sourceinsight.com&#x2F;doc&#x2F;v4&#x2F;userguide&#x2F;Manual&#x2F;Concep...</a>)?<p>I&#x27;d love to switch to Vim...
评论 #17435486 未加载
clirclealmost 7 years ago
As an Emacs user, I&#x27;m so curious about vim packages. Does vim have packages that are akin to adding a major mode in Emacs? Some of the packages on this list look like the vim version of minor modes or little helper functions.
评论 #17431373 未加载
评论 #17431481 未加载
arthurzalmost 7 years ago
Vim-zen fails to install on Windows <a href="https:&#x2F;&#x2F;github.com&#x2F;prakashdanish&#x2F;vim-zen&#x2F;issues&#x2F;9" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;prakashdanish&#x2F;vim-zen&#x2F;issues&#x2F;9</a>
jamslateralmost 7 years ago
I think that <a href="https:&#x2F;&#x2F;github.com&#x2F;simeji&#x2F;winresizer" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;simeji&#x2F;winresizer</a> is a good tool. we&#x27;ll able to become windows resize easier.
评论 #17438738 未加载
commandlinefanalmost 7 years ago
I stay away from plugins for fear that I’ll get so used to them, I’ll be lost if I sit down in front of a terminal that doesn’t have them installed.
评论 #17480529 未加载
timwaaghalmost 7 years ago
hmmm. i dont use any myself (i tried omnisharper and the java equivalent for more quickly finding syntax errors but quickly dropped them as they are unreliable).<p>here are some plain vim alternatives:<p>1. goyo: i write markdown quite a bit. it is not necessary to have much for this except perhaps syntax highlighting. hiding the status line can likely be done with a few configuration directives.<p>2. gitgutter. for the described use case: &lt;ESC&gt;:new&lt;ENTER&gt;:read !git diff use the search :&#x2F; to go from one diff to the next<p>3. vim-surround<p>for a word: (&lt;ESC&gt;wa) for a line: (&lt;ESC&gt;$a)<p>depends on the situation, but i&#x27;d need more to be sold to use this plugin.<p>4. vim-autoclose as described here it might possibly be nice except if you have to write a smiley, an arrow, or similar. if you never need to i can see this being useful, but the effect is quite minimal, as going to the end of the current line is a matter of &lt;ESC&gt;$ and inserting a closing parenthesis after it is a matter of a) .<p>5. vim-commentary visual block mode is sufficient for this usually. java: (&lt;ctrl&gt;+v)&lt;ESC&gt;$g$0i&#x2F;&#x2F;&lt;ESC&gt;<p>6. the gruvbox color scheme looks pretty neat. however: the built-in desert scheme works well on almost every machine and is included by default, so there is no real need to go to this amount of trouble. if you work regularly under a shared root account via ssh, i think it is wise to stay away from custom color schemes.<p>7. could be useful actually, i might try it. however find and grep and other external tools can be used from vim as well. the only gain by using this is that results appear as you type instead of after. marginal gains.<p>&lt;ESC&gt;:new&lt;ENTER&gt;:read !find -name &#x27;bla&#x27; 8. i think the preinstalled netrw plugin is just fine for exploring. it can be configured to run in a treemode too with some configuration. and the advatage is that it will be available on your average shared server account as well, so it pays much more dividend to learn netrw over nerdtree.<p>9. sounds like a simple remapping. you could just use the default key &lt;ctrl&gt;+p . the nice thing is that this will be available on shared servers.<p>10. importing is pretty easy already. here is how i do it. importing &lt;ESC&gt;1giim&lt;ctrl-p&gt; whatever dropping &lt;ESC&gt;&#x2F;import\ what*&lt;ENTER&gt;dd
评论 #17436617 未加载
Exumaalmost 7 years ago
Here are all the ones I use. Out of this list, tkae a look at vim-sneak. It&#x27;s very lightweight and quite cool.<p><pre><code> Plug &#x27;mileszs&#x2F;ack.vim&#x27;, {&#x27;as&#x27;: &#x27;vim-ack&#x27;} Plug &#x27;vim-airline&#x2F;vim-airline&#x27;, {&#x27;as&#x27;: &#x27;vim-airline&#x27;} Plug &#x27;slashmili&#x2F;alchemist.vim&#x27;, {&#x27;as&#x27;: &#x27;vim-alchemist&#x27;} Plug &#x27;ap&#x2F;vim-css-color&#x27;, {&#x27;as&#x27;: &#x27;vim-css-color&#x27;} Plug &#x27;hail2u&#x2F;vim-css3-syntax&#x27;, {&#x27;as&#x27;: &#x27;vim-css3-syntax&#x27;} Plug &#x27;ctrlpvim&#x2F;ctrlp.vim&#x27;, {&#x27;as&#x27;: &#x27;vim-ctrlp&#x27;} Plug &#x27;ck3g&#x2F;vim-change-hash-syntax&#x27;, {&#x27;as&#x27;: &#x27;vim-change-hash-syntax&#x27;} Plug &#x27;Raimondi&#x2F;delimitMate&#x27;, {&#x27;as&#x27;: &#x27;vim-delimitmate&#x27;} Plug &#x27;junegunn&#x2F;vim-easy-align&#x27;, {&#x27;as&#x27;: &#x27;vim-easy-align&#x27;} Plug &#x27;elixir-editors&#x2F;vim-elixir&#x27;, {&#x27;as&#x27;: &#x27;vim-elixir&#x27;} Plug &#x27;airblade&#x2F;vim-gitgutter&#x27;, {&#x27;as&#x27;: &#x27;vim-gitgutter&#x27;} Plug &#x27;fatih&#x2F;vim-go&#x27;, {&#x27;as&#x27;: &#x27;vim-go&#x27;} Plug &#x27;junegunn&#x2F;goyo.vim&#x27;, {&#x27;as&#x27;: &#x27;vim-goyo&#x27;} Plug &#x27;othree&#x2F;html5.vim&#x27;, {&#x27;as&#x27;: &#x27;vim-html5&#x27;} Plug &#x27;pangloss&#x2F;vim-javascript&#x27;, {&#x27;as&#x27;: &#x27;vim-javascript&#x27;} Plug &#x27;othree&#x2F;javascript-libraries-syntax.vim&#x27;, {&#x27;as&#x27;: &#x27;vim-javascript-libraries&#x27;} Plug &#x27;tpope&#x2F;vim-markdown&#x27;, {&#x27;as&#x27;: &#x27;vim-markdown&#x27;} Plug &#x27;tmhedberg&#x2F;matchit&#x27;, {&#x27;as&#x27;: &#x27;vim-matchit&#x27;} Plug &#x27;scrooloose&#x2F;nerdcommenter&#x27;, {&#x27;as&#x27;: &#x27;vim-nerd-commenter&#x27;} Plug &#x27;scrooloose&#x2F;nerdtree&#x27;, {&#x27;as&#x27;: &#x27;vim-nerdtree&#x27;} Plug &#x27;chr4&#x2F;nginx.vim&#x27;, {&#x27;as&#x27;: &#x27;vim-nginx&#x27;} Plug &#x27;prettier&#x2F;vim-prettier&#x27;, {&#x27;as&#x27;: &#x27;vim-prettier&#x27;} Plug &#x27;tpope&#x2F;vim-rails&#x27;, {&#x27;as&#x27;: &#x27;vim-rails&#x27;} Plug &#x27;tpope&#x2F;vim-repeat&#x27;, {&#x27;as&#x27;: &#x27;vim-repeat&#x27;} Plug &#x27;cakebaker&#x2F;scss-syntax.vim&#x27;, {&#x27;as&#x27;: &#x27;vim-scss&#x27;} Plug &#x27;justinmk&#x2F;vim-sneak&#x27;, {&#x27;as&#x27;: &#x27;vim-sneak&#x27;} Plug &#x27;tpope&#x2F;vim-surround&#x27;, {&#x27;as&#x27;: &#x27;vim-surround&#x27;} Plug &#x27;gasparch&#x2F;tagbar&#x27;, {&#x27;as&#x27;: &#x27;vim-tagbar&#x27;} Plug &#x27;SirVer&#x2F;ultisnips&#x27;, {&#x27;as&#x27;: &#x27;vim-ultisnips&#x27;} Plug &#x27;mbbill&#x2F;undotree&#x27;, {&#x27;as&#x27;: &#x27;vim-undo-tree&#x27;} Plug &#x27;maxbrunsfeld&#x2F;vim-yankstack&#x27;, {&#x27;as&#x27;: &#x27;vim-yankstack&#x27;}</code></pre>
rco8786almost 7 years ago
I have a somewhat similar setup with the addition of BufferGator and YCM.<p>That said, what’s described here is nowhere close to “vanilla” vim.