This repo it to make setting up of neovim >= 0.9 a breeze. The setup is powered and managed by 💤 lazy.nvim plugin manager
If you like helix, which I am drifting to gradually, check out my helix config
- ⚡ zig, C , C++, lua and all other language compilers
- 📦 linters and static analysis through null-ls
- 🥂 lsp servers configured with nvim-lspconfig
- 🧹 autocompletion, formatters and all other features supported by neovim's builtin lsp
- 🦸 Any build system
- ✴️ Treesitter syntax highlighting
- 🔥 Transform your Neovim editor into a full-fledged IDE
- 💤 Easily customize and extend config
- 🚀 Blazingly fast using 💤 lazy.nvim and the new lua-loader that byte-compiles and caches lua files
- Neovim >= 0.9.0 (needs to be built with LuaJIT)
- git >= 2.40.0 (gitsigns ...)
- tree-sitter >= 0.20.8 (to enable automatically installing missing parsers when entering buffers)
- a Nerd Font (optional, for nvim-tree, lualine, bufferline)
NOTE the languages supported out of the box are zig, c++, c, lua, bash/zsh, glsl, json But support for other languages like(js, ts, html5+, css3+, vue, markdown, nix) can easily be add by using its required lsp server configuration and installing the server and other accompanying tools for development like linters, static analysers, formatter
📂 ~/.config/nvim
├── 📂 ftplugin
│ └── 📂 lua
│ │ └── mapping.lua
│ ├── gitcommit.lua
│ ├── help.lua
│ └── zsh.lua
├── 📂 lua
│ └── 📂 config
│ │ ├── autocmds.lua
│ │ ├── defaults.lua
│ │ ├── init.lua
│ │ ├── keymaps.lua
│ │ ├── lazy.lua
│ │ ├── options.lua
│ │ ├── syntax.lua
│ │ └── utils.lua
│ └── 📂 plugins
│ ├── cmp.lua
│ ├── colorscheme.lua
│ ├── editor.lua
│ ├── gitsigns.lua
│ ├── lsp.lua
│ ├── neorg.lua
│ ├── snip.lua
│ ├── telescope.lua
│ ├── tree.lua
│ ├── treesitter.lua
│ └── ui.lua
├── init.lua
├── lazy-lock.json
├── LICENSE
└── README.md
ftplugin
directory contains files for setting options
or mappings
specific to filetypes
lua/config
directory contains editor autocmds
, keymaps
, options
, defaults
, syntax files
, utils fn's
and
lazy.nvim
configuration
lua/plugins
directory contains all plugins
configurations and their mappings
init
initializing/start point for nvim editor
You can find awesome-neovim here
Follow the steps below to use awesome-neovim
-
fork this repo into your account
GitHub how to fork a repository
-
Make a backup of your current Neovim files at
$XDG_CONFIG_HOME/nvim
and$XDG_DATA_HOME/nvim
:mv ~/.config/nvim ~/.config/nvim.bak mv ~/.local/share/nvim ~/.local/share/nvim.bak
-
Clone the repo into
$XDG_CONFIG_HOME/nvim
or$HOME/.config/nvim
git clone https://github.com/${YOUR-USERNAME}/awesome-neovim $XDG_CONFIG_HOME/nvim
-
Start Neovim!
nvim
⚙️ For information on how to use lazy.nvim
You can thoroughly go through awesome-neovim configuration and if more clarification is required read lazy's README
for help using the various plugins and extensions
:help local-addtions
To view the help pages and instruction manual on the various extensions
- Huge credit to @folke, I learnt a lot from his lazy config repo
- Big Shout Out to the creators of the various plugins which make nvim terrific
- Another to all the creators of the various neovim extensions.
And Last but not the least God Bless The Vim && Neovim Community for this hyperextensible and hackable text editor