Home
Post
Cancel

CandyVim Neovim Configuration

An Eye Candy Neovim config built to work most efficiently with Frontend Development

This is based on Ecovim with a lot of useless eye candy thrown in to demonstrate how useful Neovim is even loaded up with candy.

[Note:] the default namespace for the Lazyman configuration is now ecovim which is an enhanced version of CandyVim.

Features

  • Configured for TypeScript Development (React.js, Next.js, Vue.js, Angular, Node.js etc.)
  • Great default theme: Tokyonight
  • Lazy loaded via lazy.nvim
  • Highly performant (90ms load time)
  • Extendable LSP configuration via mason.nvim
  • Support for :robot: AI: ChatGPT, GitHub Copilot, Codeium and Tabnine
  • Support for TailwindCSS with highlighted colors
  • JSON autocompletion for most popular Frontend configs
  • NPM packages autocompletion in package.json
  • Internal Jest testing and Coverage support
  • Debugging with nvim-dap (works with React.js & React Native)
  • Automatic Treesitter-based folding with imports folded by default
  • Current code context via nvim-navic
  • Beautiful and functional custom statusline built with galaxyline.nvim
  • Git management with Lazygit, custom telescope commits view with git-delta, gitsigns & diffview, custom git blame

And of course usage of telescope, nvim-tree, barbar, cmp, treesitter, blankline & more!

Screenshots

Dashboard

Dashboard

Overview

Neovim

More screenshots

Installation

See the Install tab for installation instructions.

Configuration

To change CandyVim related config use the config/CandyVim.lua file.

To change vim settings use the config/options.lua file.

To change plugin related settings use the specific plugins/[name].lua file. Some of the plugin config can be set up during plugin installation in config/plugins.lua file, where you can add new plugins.

Keybindings

See the Keymaps tab for details on CandyVim key bindings.

Comma (,) is the default Leader key.

Check out the which-key menu and keybindings.lua for most used maps.

Performance

Measured on M1.

CandyVim started in 91.13ms

Future Todo

DescriptionProgress
Support more LSPs (not only frontend? - already possible via Mason)50%
Better configuration of additional LSPs (already possible via Mason)50%
Project LogoPlanned
Auto resize for more consistent UI behaviorPlanned
Reload in-time supportPlanned
DescriptionProgress
lazy.nvim instead of packer100%
Better support for null-ls and local formatting100%
Better support to project word refactor100%
Support for nvim-dap debugger for React100%
Support ESLint & Prettier in Native LSP100%
Replace coc-explorer with nvim-tree.lua100%
Replace coc.nvim with Native LSP100%
Change fzf.nvim to telescope.nvim100%
Update statusline to support LSP diagnostics100%
Rewrite most config to lua100%
Support TailwindCSS with colors100%
Provide current screenshots100%
Create shell installer for Linux & MacOS100%

Authors

Contents