Custom neovim setup, based on hardhacker.
Find a file
Akianonymus 92eb5ca740 Do not load packer on startup
Actually saved some milliseconds, can be observed in benchmarks too

from packer readme

```
To optimize startup time, packer.nvim compiles code to perform the lazy-loading operations you specify. This means that you do not need to load packer.nvim unless you want to perform some plugin management operations.
```

Add packer commands manually to mappings.lua, but with basic functionalty

By this, we don't losr the packer commands and don't even load at startup

After some command is actually executed, it will load the PackerCommands as they were
2021-07-23 21:58:14 +05:30
.github Delete FUNDING.yml 2021-07-05 15:25:11 +05:30
lua Do not load packer on startup 2021-07-23 21:58:14 +05:30
init.lua Do not load packer on startup 2021-07-23 21:58:14 +05:30
install.sh install.sh: Use chsh instead of grep /etc/shells 2021-07-23 18:07:30 +05:30
LICENSE Initial commit 2021-03-07 20:03:18 +05:30
README.md Update README.md 2021-07-18 23:35:25 +05:30

NvChad

Lua






Very Very Useful lua plugins used in my config

Lspkind-nvim

This tiny plugin adds vscode-like pictograms to neovim built-in lsp completion items :


Nvim-tree.lua

fast file tree :


Telescope-nvim

A fuzzy file finder, picker, sorter, previewer and much more:


Indent-blankline.nvim

adds indentline :

Galaxyline

fastest statusline plugin I've used so far:


Nvim-bufferline.lua

As a top tabline like thing which lets me handle tabs and buffers like switching , sorting and closing them etc.

Nvim-web-devicons

Lua fork of vim devicons which lets me change icons of filetypes

Nvim-treesitter

Better syntax highlighting for programming languages ( my config just has html,css,js support for now ).

without / with Treesitter :

Credits

Elianiva helped me with neovim lua related issues many times, NvChad wouldnt exist without his help at all!

Features

  • File navigation with Nvimtree
  • Using plugins that are mouse friendly
  • Beautiful inbuilt themes
  • lazy loading 100% of plugins
  • managing tabs , buffers with bufferline
  • autosave
  • icons on nvimtree , telescope , bufferline/statusline and almost everywhere! with nvim-web-devicons
  • minimal status line ( galaxyline)
  • gitsigns (colored bars for git in my config)
  • nvim-lspconfig for nvim-lsp configuration
  • lspInstall for installing lsp servers easily
  • nvim-compe for autocompletion
  • lspkind to show pictograms on autocompletion items
  • telescope for file finding , picking , previewing (files and even images)
  • nvim-treesitter for syntax highlighting
  • nvim-autopairs for autolosing braces and stuffs
  • neoformat for prettifying / formatting code
  • packer.nvim as package manager
  • indent-blankline.Nvim for indentlines
  • smooth scrolling
  • luasnip for snippet plugin and snip support from VSCode through vsnip supporting custom and predefined snips (friendly-snippets)
  • Distraction free modes ( modes in which statusline , tabline etc stuff get disabled so its just the text visible in the buffer similar to goyo.vim)
  • Code formatting / prettifying
  • gitsigns for git diffs

Requirements

  • neovim 0.5
  • A terminal that supports nerdfonts
  • Set terminal's inner padding to 0.

Wiki

Bloat

  • To all those who think this is probably bloated , sure it is . Bloat means different to everyone . NvChad has like 30 ~ plugins but that doesnt mean those plugins are compromsing neovim's speed, snappiness or making it slow. No matter how many plugins I'd add on nvchad , it wouldnt compromise speed / snappiness / make it slow or whatever since it uses packer.nvim as plugin manager , packer.nvim lets you lazy load plugins i.e loading plugins on certain events , mappings , sequentially loading them etc so loading them only when needed , I have lazy loaded all the plugins so most plugins arent loaded by default , hence not affecting neovim's startup/launch time.
  • The below image shows startuptime for :

  • NvChad Without lazy loading vs with lazy loading

  • Default neovim with startuptime.vim plugin vs NvChad

  • NvChad on my other system with ssd

(The above 2 images show tests from my old pentium system so ofc the startuptime will be a lot more lesser for you )

TODO

It would be nice if NvChad focuses on existing plugins and config before adding new things , some plugins like whichkey , telescope , treesitter still have basic configs! Also adding new features that'd make NvChad slow or its startuptime slow wouldnt be encouraged , if that feature's really needed then It'll be mentioned in the wiki with its config.

  • Debloat the config
  • Add more themes.
  • Add a theme switcher.
  • Preview shortcuts in the form of a pretty cheatsheet
  • Add a global configuration so it doesnt get hard to update :c

Contribute

  • PR's are always welcomed however NvChad aims to be less bloated and suckless. So PR's regarding existing plugin's enhancement , bug fixes are more encouraged.
  • PR's regarding adding new plugins and their configs must be given some thought since NvChad aims to have a minimal config and meant to be used as a "base" neovim config so it will have only a set of important plugins. So adding more and more plugins, making NvChad bloated + slow wont help!.
  • NvChad isnt a Framework. NvChad wont keep adding more and more features ( adding new plugins most likely) as requested , no spoonfeeding!! If you think the plugin you want to be added is very useful and many NvChaders would find it useful, then such feature's PR is welcomed!
  • But adding specific features like adding config for https://github.com/wakatime/vim-wakatime etc will be added in this https://github.com/siduck76/NvChad/wiki/Chad-user-configs. This lets the user select the things only they want ( from extra configs ) .

💝 Support

If you enjoy using NvChad and would like to show your appreciation, you may want to tip me here.

It is never required but always appreciated.

undefined undefined undefined