05d57bba29
move packadd to packerInit |
||
---|---|---|
.github | ||
lua | ||
init.lua | ||
install.sh | ||
LICENSE | ||
README.md |
NvChad
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.