This is my personal Neovim configuration. It is a work in progress and I am constantly tweaking it to make it better. I have tried to keep it as minimal as possible and only include the plugins that I find useful.
- Remove the previous data
rm -rf ~/.config/nvim rm -rf ~/.local/state/nvim rm -rf ~/.local/share/nvim
- Go to neovim configuration directory
cd ~./config/nvim
- Clone this repository
git clone https://github.com/zidanhafiz/nvim-config.git
- There you go!
nvim
- Lazy: I use
lazy
to manage plugins. This means that plugins are only loaded when they are needed. - Alpha: I use Alpha as dashboard for Neovim. It provides a nice looking start screen.
- Mason: I use Mason to manage my LSP.
- LSP: I use the built-in LSP client in Neovim to provide language server features.
- Treesitter: I use Treesitter for syntax highlighting and code folding.
- Telescope: I use Telescope for fuzzy finding and file browsing.
- Lualine: I use Lualine for the status line.
- Neotree: I use Neotree for file browsing.
- Bufferline: I use Bufferline for buffer management.
- Gitsigns: I use Gitsigns for Git integration.
- None-ls: I use None-ls for formatting code.
- Github/Copilot: I use Github Copilot for AI autocompletion.
- CopilotChat: I use copilotchat for chat integration.
- Minipairs: I use Minipairs for auto closing brackets.
- DAP: I use DAP for debugging.
- Catppuccin: I use Catppuccin for color scheme.
- HTML
- CSS
- Lua
- Python
- JavaScript
- TypeScript
- Go
nvim/
├── init.lua
└── lua/
├── plugins/
└── config/
└── lazy.lua
- init.lua: This is the main configuration file.
- lua/: This directory contains all the Lua configuration files.
- lua/plugins/: This directory contains all the plugins.
- lua/config/lazy.lua: This file contains the lazy loading configuration.