avatarMichael Bao

Free AI web copilot to create summaries, insights and extended knowledge, download it at here

2160

Abstract

erent background. Night is dark, dark blue, while storm is a lighter blue. Storm was shown in the image above.</p><p id="0027"><b>Install</b></p><div id="f993"><pre>Plug ‘ghifarit53/tokyonight-vim’</pre></div><p id="7610">There are many other great themes, just do a quick google search, and you will find yourself in a rabbit hole of colorschemes (I got stuck for a few days to find what I wanted).</p><p id="e230">Here are a few: — Onedark — Nord — Gruvbox — Dracula</p><p id="7ff0">If you don’t like any themes, you can create your own. I have never done this and would think it is very time-consuming, but do whatever your heart desires.</p><h2 id="8f4a">Indentline</h2><p id="e942">Indentline is a plugin that shows where your tabs are. It is similar to when you press two tabs in VSCode and it shows this: ‘|’. Go check it out, and you might just fall in love with it.</p><p id="d656"><b>Install</b></p><div id="2d32"><pre>Plug ‘Yggdroot/indentLine’</pre></div><h2 id="9484">Vim-Smoothie</h2><p id="ac09">Vim-Smoothie is a plugin that makes scrolling very, very smooth. Keybinds like Ctrl+d and Ctrl+u is super satisfying and amazing. This probably gets the least usefulness score out of all the Visual Plugins but is nice to have.</p><p id="e3b1"><b>Install</b></p><div id="e6ae"><pre>Plug ‘psliwka/vim-smoothie’</pre></div><h1 id="ada2">Functional</h1><p id="262d">These functional plugins give new life to Vim and will make your life faster.</p><h2 id="a6ae">UndoTree</h2><p id="ab0c">UndoTree is a plugin that shows your undoes. You will be able to go back to revisions just like any other word processor. I like it and it works well.</p><p id="7246"><b>Install</b></p><div id="fa8f"><pre>Plug ‘mbbill/undotree’</pre></div><p id="0244">Give UndoTree a try, it might just save your masterpiece.</p><h2 id="38cd">Vim-Commentary</h2><p id="ab81">Vim-Commentary is a useful plugin that gives you keybinds to quickly comment a line. It is really useful in competitive programming because it allows you to debug with print statements very easily.</p><p id="cf0e"><b>Install</b></p><div id="a7d5"><pre>Plug ‘tpope/vim-commentary’</pre></div><h2 id="f719

Options

">NerdTree</h2><p id="4d1d">NerdTree is a file manager and is completely unnecessary because there is a built-in one, which u can use :Ex to enter. But it looks nice with some visual plugins.</p><p id="9299"><b>Install</b></p><div id="e2e5"><pre>Plug ‘preservim/nerdtree’</pre></div><p id="d7e0">The visual plugins are Vim-NerdTree-Syntax-Highlighting and Vim-Devicons (which can be used with other plugins). They can be installed by doing</p><div id="3f02"><pre>Plug ‘tiagofumo/<span class="hljs-keyword">vim</span>-nerdtree-<span class="hljs-keyword">syntax</span>-<span class="hljs-keyword">highlight</span></pre></div><p id="20e6">and</p><div id="b6e2"><pre>Plug ‘ryanoasis/vim-devicons’</pre></div><p id="c946">respectively.</p><h1 id="b738">Completion</h1><p id="0e01">Completion is usually not needed in competitive programming, but nice to have.</p><h2 id="ccc6">Conquer of Completion</h2><p id="6e4b">Conquer of Completion (Coc), is a very powerful code completion tool and isn’t used to its full potential in competitive programming. This is mainly due to the fact that it is excellent at multiple file completion.</p><p id="37f1"><b>Install</b></p><div id="f97a"><pre>Plug ‘neoclide/coc.nvim’, {‘branch’: ‘release’}</pre></div><p id="391b">Coc is a great completion, but there is one that I like better.</p><h2 id="16c1">YouCompleteMe</h2><p id="90fe">YouCompleteMe or Ycm for short is a fantastic completion tool. It’s very good at finding what you need. However, the only reason I don’t use it, is because it is very slow to load. Your millage may vary, however, so give this a try, and it might just be what you need.</p><p id="3219"><b>Install</b></p><div id="741b"><pre><span class="hljs-attribute">Plug</span> ‘ycm-core/YouCompleteMe’</pre></div><h1 id="ab16">Conclusion</h1><p id="d3e2">Plugins make life easier and so much more enjoyable. Give the plugins a try, and you might just use it the rest of your life (because you will never leave vim). Keep working on your speed and if you use Eclipse or IntelliJ, just use vim, just do it. You will thank me, but don’t blame me when you fail. Have a great rest of your day.</p></article></body>

My Top (Neo)Vim Plugins For Competitive Programming

Vim plugins can make your experience smoother, nicer, and more productive.

Screenshot of author’s init.vim, taken by author

I am currently using Neovim instead of Vim, because I switched a while back and can’t bother to go back.

Plugin Managers

Vim-Plug

I use Vim-Plug, however this is the only one I have tried and it works for me. So there is no reason for me to switch. I enjoy it. When you go to the website, make sure to download the right one for either Vim or Neovim. To download any plugin, just take the last half of the GitHub link and place it in between the brackets of the statement:

Plug ‘[HERE]

I will give the way to install the plugins in the format above.

Visual Plugins

By no means do the following plugins need to be installed. Actually, they are completely up to personal preference. Go explore find what you like.

Vim-Polyglot

Polyglot is a syntax highlighting plugin. It makes code more readable and so much more enticing to work on. It works with many plugins and is one of the most popular syntax highlighting plugins for Vim.

Install

Plug ‘sheerun/vim-polyglot’

In my opinion, many of the colorschemes look a lot better with it and is sometimes recommended by the colorscheme/plugin maker. Go try it out with your favorite colorscheme.

My Personal Colorscheme — Tokyonight

Tokyonight was originally created for VS Code, but thanks to the vast vim community it came to vim. It is both a dark and light theme, but the plugin I use only has the dark theme (which is the one I use). It has two variants; night and storm. They have the same highlighting, just a different background. Night is dark, dark blue, while storm is a lighter blue. Storm was shown in the image above.

Install

Plug ‘ghifarit53/tokyonight-vim’

There are many other great themes, just do a quick google search, and you will find yourself in a rabbit hole of colorschemes (I got stuck for a few days to find what I wanted).

Here are a few: — Onedark — Nord — Gruvbox — Dracula

If you don’t like any themes, you can create your own. I have never done this and would think it is very time-consuming, but do whatever your heart desires.

Indentline

Indentline is a plugin that shows where your tabs are. It is similar to when you press two tabs in VSCode and it shows this: ‘|’. Go check it out, and you might just fall in love with it.

Install

Plug ‘Yggdroot/indentLine’

Vim-Smoothie

Vim-Smoothie is a plugin that makes scrolling very, very smooth. Keybinds like Ctrl+d and Ctrl+u is super satisfying and amazing. This probably gets the least usefulness score out of all the Visual Plugins but is nice to have.

Install

Plug ‘psliwka/vim-smoothie’

Functional

These functional plugins give new life to Vim and will make your life faster.

UndoTree

UndoTree is a plugin that shows your undoes. You will be able to go back to revisions just like any other word processor. I like it and it works well.

Install

Plug ‘mbbill/undotree’

Give UndoTree a try, it might just save your masterpiece.

Vim-Commentary

Vim-Commentary is a useful plugin that gives you keybinds to quickly comment a line. It is really useful in competitive programming because it allows you to debug with print statements very easily.

Install

Plug ‘tpope/vim-commentary’

NerdTree

NerdTree is a file manager and is completely unnecessary because there is a built-in one, which u can use :Ex to enter. But it looks nice with some visual plugins.

Install

Plug ‘preservim/nerdtree’

The visual plugins are Vim-NerdTree-Syntax-Highlighting and Vim-Devicons (which can be used with other plugins). They can be installed by doing

Plug ‘tiagofumo/vim-nerdtree-syntax-highlight

and

Plug ‘ryanoasis/vim-devicons’

respectively.

Completion

Completion is usually not needed in competitive programming, but nice to have.

Conquer of Completion

Conquer of Completion (Coc), is a very powerful code completion tool and isn’t used to its full potential in competitive programming. This is mainly due to the fact that it is excellent at multiple file completion.

Install

Plug ‘neoclide/coc.nvim’, {‘branch’: ‘release’}

Coc is a great completion, but there is one that I like better.

YouCompleteMe

YouCompleteMe or Ycm for short is a fantastic completion tool. It’s very good at finding what you need. However, the only reason I don’t use it, is because it is very slow to load. Your millage may vary, however, so give this a try, and it might just be what you need.

Install

Plug ‘ycm-core/YouCompleteMe’

Conclusion

Plugins make life easier and so much more enjoyable. Give the plugins a try, and you might just use it the rest of your life (because you will never leave vim). Keep working on your speed and if you use Eclipse or IntelliJ, just use vim, just do it. You will thank me, but don’t blame me when you fail. Have a great rest of your day.

Vim
Competitive Programming
Programming
Customization
Productivity
Recommended from ReadMedium