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
│ ├── 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
![startuptime](https://private-user-images.githubusercontent.com/39212564/333784581-1ab9441c-9f77-4889-865a-231f0ca967fa.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTcxODAyNTcsIm5iZiI6MTcxNzE3OTk1NywicGF0aCI6Ii8zOTIxMjU2NC8zMzM3ODQ1ODEtMWFiOTQ0MWMtOWY3Ny00ODg5LTg2NWEtMjMxZjBjYTk2N2ZhLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA1MzElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNTMxVDE4MjU1N1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTMyNGJmODU0YWZkOWMzODVjNjZiMzY0MzA5Yzg5YjI5NjA3M2QyNzA1ZjYwYjQ4MGU0ZjA0ZDhmMmI5MTE3NzYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.chHcUUVNWaDPvUeiMZvDwgFAKXCV0eRreUdFtjgDXlI)
- 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 |
pyright | Static Type Checker for Python | Python |
rust_analyzer | Rust compiler | Rust |
typst-lsp | Language server for Typs | Typst |
volar | High-performance Vue language tooling based-on Volar.js | Vue |
yamlls | Language Server for YAML Files | YAML |