Features β’ Requirements β’ Installation β’ Folder structure β’ Configuration β’ Plugins β’ Wiki
- File explorer with neo-tree
- Autocompletion with CMP
- Git integration with Gitsigns and Neogit
- Fuzzy finding with Telescope
- Formatting with conform.nvim and Linting nvim-lint
- Language Server Protocol with Native LSP
- Debug Adapter Protocol with Nvim DAP
- Beautiful UI with Catppuccin and Noice.nvim
- Fast code navigation with flash.nvim
- Neovim >= 0.10.0
- Git >= 2.19.0
- a Nerd Font
mv ~/.config/nvim ~/.config/nvim.bak
mv ~/.local/share/nvim ~/.local/share/nvim.bak
cd ~/.config
git clone https://github.com/ilias777/nvim.git
rm -rf ~/.config/nvim/.git
cd nvim
nvim init.lua
~/.config/nvim
β
βββ lua # LUA FOLDER
βΒ Β βββ core
βΒ Β βΒ Β βββ autocommands.lua # File to store all the autocommands
βΒ Β βΒ Β βββ usercommands.lua # File to store all the usercommands
βΒ Β βΒ Β βββ keymaps.lua # Keybindings
βΒ Β βΒ Β βββ options.lua # All Neovim options
βΒ Β βββ plugins
β βββ lsp # LSP RELATED PLUGINS FOLDER
β β βββ lsp-config.lua # nvim-lspconfig
β β βββ other-lsp-plugins.lua # Other lsp related plugins
β βββ init.lua # Many plugins in one file
βΒ Β βββ plugin_1.lua # One or more plugins in one file
β βββ plugin_2.lua # One or more plugins in one file
βΒ Β βββ **
βΒ Β βββ plugin_xx.lua
βββ snippets
β βββ javaspript.lua # JavaScript snippets
β βββ lua.lua # Lua snippets
βββ ftplugin
β βββ java.lua # Java configuration
βββ init.lua # Main file
Understanding the file tree β look here
How to configure Neovim is explained in the Wiki
- How to install or uninstall plugins β look here
- How to setup a language server β look here
- How to setup or change keymaps β look here
- Keymaps are listet β here
- Over 90 Plugins preinstalled
- Startuptime ~40ms - ~59ms
- Testet on MacOS 14.5 - M1 Pro
- lazy.nvim - A modern plugin manager.
- neo-tree - Manage and browse the file system.
- nvim-lspconfig - Configurations for the LSP client.
- mason - Install and manage LSP servers.
- mason-lspconfig - Bridge between mason and lsp-ocnfig.
- trouble.nvim - A pretty diagnostics, references, telescope results, quickfix and location list.
- glance.nvim - A pretty window for previewing, navigating and editing your LSP locations.
- inc-rename.nvim - Incremental LSP rename command.
- outline.nvim - Code outline sidebar powered by LSP.
- nvim-jdtls - Extensions for the built-in LSP support for eclipse.jdt.ls.
- nvim-cmp - Completion plugin.
- conform.nvim - Lightweight yet powerful formatter plugin for Neovim.
- nvim-lint - An asynchronous linter plugin for Neovim.
- Catppuccin - Warm mid-tone dark theme.
- Luasnip - A snippet engine.
- friendly-snippets - Snippets collection for a set of different programming languages.
- bufferline.nvim - A snazzy buffer line.
- feline.nvim - A minimal, stylish and customizable statusline.
- cinnamon.nvim - Smooth scrolling for any movement command.
- flash.nvim - Navigate your code with search labels.
- hop.nvim - Jump anywhere in a document.
- nvim-spider - Use the w, e, b motions like a spider.
- advanced-git-search - Search your git history by commit message, content and author with Telescope.
- diffview.nvim - Interface for easily cycling through diffs.
- gitsigns - Git integration: signs, hunk actions, blame, etc.
- neogit - A Magit clone for Neovim
- indent-blankline - IndentLine replacement.
- live-command.nvim - Text editing with immediate visual feedback.
- noice.nvim - Replaces the UI for messages, cmdline and the popupmenu.
- nvim-autopairs - A minimalist autopairs.
- nvim-colorizer - A high-performance color highlighter.
- nvim-notify - A fancy, configurable, notification manager.
- nvim-surround - A plugin for adding/changing/deleting surrounding delimiter pairs.
- nvim-toggler - Invert text.
- nvim-ufo - Ultra fold with modern looking and performance boosting.
- nvim-web-devicons - Show dev icons.
- rainbow-delimiters - Rainbow delimiters for Neovim with Treesitter.
- ssr.nvim - Treesitter based structural search and replace plugin.
- statuscol.nvim - Configurable 'statuscolumn' with builtin segments and click handlers.
- toggleterm.nvim - A neovim lua plugin to help easily manage multiple terminal windows.
- vim-visual-multi - Multiple cursors.
- which-key.nvim - Popup of keybindings.
- yanky.nvim - Improved Yank and Put functionalities.
- zen-mode.nvim - Distraction-free coding.
- nvim-treesitter - Neovim Treesitter configurations and abstraction layer.
- nvim-treehopper - Region selection using hints on the abstract syntax tree of a document.
- nvim-treesitter-context - Shows the context of the currently visible buffer contents.
- nvim-treesitter-textobjects - Syntax aware text-objects, select, move, swap, and peek support.
- ts-node-action - A framework for executing functional transformations on Tree-sitter nodes.
- telescope.nvim - An extendable fuzzy finder. Find files, Filter, Preview, Pick. All in one!
- telescope-emoji.nvim - An extension for telescope.nvim that allows you to search emojis π.
- telescope-file-browser.nvim - A file browser extension for telescope.nvim.
- telescope-symbols.nvim - Ability of picking symbols and insert them at point.
- telescope-undo.nvim - Visualize your undo tree and fuzzy-search changes in it.
- telescope-zoxide - An extension for telescope.nvim that allows you operate zoxide within Neovim.
- Comment.nvim - Smart and powerful comment plugin.
- comment-box.nvim - Clarify and beautify your comments using boxes and lines.
- todo-comments.nvim - Highlight, list and search todo comments in your projects.
- nvim-dap - Debug Adapter Protocol client implementation for Neovim.
- nvim-dap-ui - A UI for nvim-dap.
- nvim-dap-vscode-js - nvim-dap adapter for vscode-js-debug.
- vimtex - A modern Vim and Neovim filetype and syntax plugin for LaTeX files.
- markdown-preview - Preview markdown on your browser.
- typst.vim - Vim plugin for Typst.
Language Server | Description | Programming Language |
---|---|---|
cssls | Language services for CSS, LESS and SCSS | CSS |
emmet_ls | Emmet support based on LSP | HMLT - CSS |
html | Language services for HTML | HTML |
jsonls | JSON language service | JSON |
jdtls | Java language server | Java |
tsserver | TypeScript & JavaScript Language Server | JavaScript |
ltex | Grammar checking of various markup languages | LaTex, Markdown |
texlab | Language Server Protocol for LaTeX | LaTex |
lua_ls | A language server that offers Lua language support | Lua |
intelephense | PHP language server | PHP |
ruff | Fast Python linter and code formatter, written in Rust | Python |
rust_analyzer | Rust compiler | Rust |
tinymist | Language server for Typst | Typst |
volar | High-performance Vue language tooling based-on Volar.js | Vue |
yamlls | Language Server for YAML Files | YAML |