> For the complete documentation index, see [llms.txt](https://aryansh.gitbook.io/informatics-notes/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://aryansh.gitbook.io/informatics-notes/editor-setup.md).

# Editor Setup

Below are my recommended plugin managers and plugins for effective, lightweight programming setups with the text editors Neovim, Vim, VS Code, and Atom. For Neovim/Vim setups, also see [Terminal Setup](/informatics-notes/terminal-setup.md).

## Neovim >=0.5 (Fast)

{% embed url="<https://github.com/neovim/neovim>" %}
Repo with download instructions
{% endembed %}

### Plugin Managers (Choose One)

{% embed url="<https://github.com/Shougo/dein.vim>" %}
Fast plugin manager but not easy to install
{% endembed %}

{% embed url="<https://github.com/savq/paq-nvim>" %}
Lua-based fast plugin manager but simplistic (lacks some features like lazy loading)
{% endembed %}

{% embed url="<https://github.com/wbthomason/packer.nvim>" %}
Lua-based fairly fast plugin manager
{% endembed %}

### Plugins

{% embed url="<https://github.com/nvim-treesitter/nvim-treesitter>" %}
Lua-based versatile and fast incremental language parser that builds and updates syntax trees in real time
{% endembed %}

{% embed url="<https://github.com/neovim/nvim-lspconfig>" %}
Lua-based fast and extensible LSP
{% endembed %}

{% embed url="<https://github.com/hrsh7th/nvim-compe>" %}
Lua-based fast autocompletion that pairs well with the LSP above
{% endembed %}

{% embed url="<https://github.com/Aryansh-S/fastdark.vim>" %}
Fast and simple One Dark color scheme with syntax highlighting
{% endembed %}

{% embed url="<https://github.com/lifepillar/vim-gruvbox8>" %}
Fast Gruvbox color scheme with syntax highlighting
{% endembed %}

{% embed url="<https://github.com/mizlan/termbufm>" %}
Fast and simple embedded terminal "compile and run" implementation, extensible to any language
{% endembed %}

{% embed url="<https://github.com/tpope/vim-commentary>" %}
Fast and simple commenting plugin
{% endembed %}

{% embed url="<https://github.com/JoosepAlviste/nvim-ts-context-commentstring/>" %}
Lua-based comment enhancer for the above plugin (you can make c/cpp use // instead).
{% endembed %}

{% embed url="<https://github.com/suy/vim-context-commentstring>" %}
Only get this if you specifically want to comment embedded Lua in Vim (useless if you just use init.lua)
{% endembed %}

{% embed url="<https://github.com/romainl/vim-cool>" %}
Fast and simple plugin that makes searching more manageable
{% endembed %}

## Vim >=8 (Fast)

{% embed url="<https://github.com/vim/vim>" %}
Repo with download instructions
{% endembed %}

### Plugin Managers (Choose One)

{% embed url="<https://github.com/Shougo/dein.vim>" %}
Fast plugin manager but not easy to install
{% endembed %}

{% embed url="<https://github.com/junegunn/vim-plug>" %}
Somewhat fast plugin manager, easy to install
{% endembed %}

### Plugins

{% embed url="<https://github.com/sheerun/vim-polyglot>" %}
Versatile language pack, fast but spacious
{% endembed %}

{% embed url="<https://github.com/Aryansh-S/fastdark.vim>" %}
Fast and simple One Dark color scheme with syntax highlighting
{% endembed %}

{% embed url="<https://github.com/lifepillar/vim-gruvbox8>" %}
Fast Gruvbox color scheme with syntax highlighting
{% endembed %}

{% embed url="<https://github.com/mizlan/termbufm>" %}
Fast and simple embedded terminal "compile and run" implementation, extensible to any language
{% endembed %}

{% embed url="<https://github.com/tpope/vim-commentary>" %}
Fast and simple commenting plugin
{% endembed %}

{% embed url="<https://github.com/romainl/vim-cool>" %}
Fast and simple plugin that makes searching more manageable
{% endembed %}

{% embed url="<https://github.com/neoclide/coc.nvim>" %}
Versatile but slow autocompletion and linting
{% endembed %}

## VS Code (Medium)

{% embed url="<https://code.visualstudio.com/>" %}
Download page
{% endembed %}

### Plugin Manager

Builtin

### Plugins

{% embed url="<https://code.visualstudio.com/docs/languages/cpp>" %}
Full instructions for C++
{% endembed %}

## Atom (Slow)

{% embed url="<https://atom.io/>" %}
Download page
{% endembed %}

### Plugin Manager

Builtin

### Plugins

{% embed url="<https://github.com/kriscross07/atom-gpp-compiler>" %}
C++-specific compile and run plugin
{% endembed %}

{% embed url="<https://github.com/AtomLinter/linter-gcc>" %}
C++ linter with diagnostic messages
{% endembed %}
