This repository contains my custom Neovim configuration for 2024 based on kickstart.nvim. It includes features like LSP, syntax highlighting, Git integration, and more.
.
├── README.md
├── init.lua
├── lazy-lock.json
└── lua
├── core
│ ├── keymaps.lua
│ ├── options.lua
│ └── snippets.lua
└── plugins
├── alpha.lua
├── autocompletion.lua
├── bufferline.lua
├── colortheme.lua
├── comment.lua
├── copilot-cmp.lua
├── copilot.lua
├── gitsigns.lua
├── indent-blankline.lua
├── lazydocker.lua
├── lazygit.lua
├── lsp.lua
├── lualine.lua
├── misc.lua
├── neotree.lua
├── none-ls.lua
├── telescope.lua
└── treesitter.lua
- LSP: Configured with multiple language servers for robust development environments.
- Autocompletion: Includes
nvim-cmp
and Copilot integration for code suggestions. - File explorer:
NeoTree
is set up for an enhanced file navigation experience. - Statusline: Customized with
lualine
for a visually appealing and informative status bar. - Git Integration: Git functionality is managed with
gitsigns
andlazygit
. - Syntax Highlighting: Enabled with
treesitter
for advanced highlighting based on code structure. - Theme: A color scheme is set with the custom file
colortheme.lua
.
Ensure you have Neovim v0.8+ installed. You can check your Neovim version with:
nvim --version
For Linux (Debian/Ubuntu):
sudo apt install neovim
For macOS (with Homebrew):
brew install neovim
For Windows, use the Neovim installation from Neovim's official GitHub.
To set up this configuration, clone this repository into your Neovim configuration folder:
git clone https://github.com/zombocoder/nvim-config.git ~/.config/nvim
Once lazy.nvim
is installed, open Neovim and run the following command to install the required plugins:
:Lazy
This will automatically sync and install all the plugins specified in your init.lua
and lua/plugins/
folder.
Some plugins require additional setup:
-
LSP: Make sure to install the required language servers for your development languages. You can install servers manually or use
mason.nvim
to manage LSP servers. -
Telescope: Ensure
ripgrep
is installed for advanced search functionalities:sudo apt install ripgrep
-
NeoTree: NeoTree requires
nvim-web-devicons
for file icons. Make sure they are installed and configured.
Custom keymaps are defined in lua/core/keymaps.lua
. These include:
- Telescope for fuzzy finding.
- NeoTree for file explorer navigation.
- Bufferline for switching between open buffers.
Refer to the keymaps.lua
file for a full list of key bindings.
Feel free to tweak the configuration by editing the files in the lua/
directory. Each plugin has its own configuration file in lua/plugins/
.
This configuration is built on top of kickstart.nvim and uses various plugins from the Neovim community.
This README provides a detailed overview of your Neovim setup, including installation instructions and information about plugin configuration. Let me know if you need any further adjustments!