This project is on Codeberg too: https://codeberg.org/notrtdsx/nvim
A minimal, efficient, and modern Neovim setup powered by lazy.nvim.
Includes LSP, autocompletion, file exploration, syntax highlighting, and more.
- Plugin Management: lazy.nvim for fast, lazy-loaded plugins.
- LSP Support: mason.nvim + nvim-lspconfig for language servers (e.g.
clangdfor C/C++). - Autocompletion: nvim-cmp with LSP source.
- File Explorer: nvim-tree.lua.
- Fuzzy Finder: telescope.nvim.
- Syntax Highlighting: nvim-treesitter.
- Git Integration: gitsigns.nvim.
- Status line: lualine.nvim
- Indentation guides: indent-blankline.nvim
- Color scheme: gruvbox.nvim
- Auto-pairs: nvim-autopairs
- Commenting: Comment.nvim
- Neovim (≥ 0.9.0)
- Git
- A Nerd Font (recommended for icons)
- For C/C++ support: clangd
Clone this repository to your Neovim config directory:
git clone https://github.com/notrtdsx/nvim.git ~/.config/nvimOpen Neovim:
nvimOn first launch:
lazy.nvimwill automatically install itself and all plugins.- Wait for the installation to complete (may take a few minutes).
Run :Lazy in Neovim to open the plugin manager UI and confirm all plugins are installed.
| Key | Action |
|---|---|
<leader>ff |
Telescope: Find files |
<leader>fg |
Telescope: Live grep |
<leader>fb |
Telescope: Buffers |
<leader>e |
Toggle file explorer (nvim-tree) |
gd |
Go to definition (LSP) |
K |
Hover documentation (LSP) |
<leader>rn |
Rename symbol (LSP) |
<leader>ca |
Code actions (LSP) |
[d / ]d |
Jump to previous/next diagnostic |
<leader>b |
Build project (make -j$(nproc)) |
<C-h/j/k/l> |
Navigate splits |
Note:
<leader>is mapped to Space.
:Mason– Manage LSP servers and tools.:NvimTreeToggle– Toggle file explorer.:Telescope– Open fuzzy finder.:Lazy– Manage plugins.
Edit the require("lazy").setup({ ... }) block in init.lua:
require("lazy").setup({
-- Add new plugins here, e.g.:
{ "plugin-repo/plugin-name", config = true },
})Run :Lazy sync to install or update plugins.
Modify the colorscheme in init.lua:
require("gruvbox").setup({ contrast = "hard" })
vim.cmd.colorscheme("gruvbox") -- Change to your preferred schemeAdd new language servers via mason-lspconfig:
require("mason-lspconfig").setup({
ensure_installed = { "clangd", "pyright", "tsserver" },
})- Run
:Lazy syncto force sync plugins. - Check
:Lazy logfor errors.
- Ensure the language server is installed (
:Mason). - Verify filetypes are supported (e.g.
clangdfor C/C++).
Install a Nerd Font (e.g. FiraCode Nerd Font) and set it as your terminal font.