Welcome to my Neovim Configuration! This setup leverages Lua for a modern, high-performance coding experience, packed with essential plugins and optimized keybindings.
Clone this repository into your Neovim configuration directory:
git clone https://github.com/LeonWandruschka/nvim-lua-config.git ~/.config/nvim
Ensure you have the following dependencies installed:
- Neovim (Version 0.7.5 or higher)
- Exuberant Ctags (For tag generation)
- JetBrains Nerd Font (Download here)
- clangd (C/C++ language server support)
- LLVM (Includes
lldb
andlldb-dap
for debugging) - Vim (For backward compatibility with Vimscript configurations)
This configuration includes powerful plugins to enhance productivity:
- 📌
alpha-nvim
- Customizable dashboard - 🎨
colorscheme
- Custom themes for a personalized look - 🔍
telescope.nvim
- Fuzzy file searching and previewing - 📝
treesitter
- Improved syntax highlighting - 🔧
nvim-lspconfig
- Language Server Protocol setup - 🛠️
none-ls.nvim
- Lightweight LSP alternative - 📂
nvim-tree
- File explorer - 🛑
dap.nvim
- Debug Adapter Protocol for debugging - 📝
neogen
- Generate Doxygen-style comments - 🏷️
tagbar
- Displays tags in a sidebar - ✅
todo-comments
- Highlights TODO/FIXME comments - 🔗
lazygit
- Git integration
Enhance your workflow with these shortcuts:
Action | Keybinding |
---|---|
Leader Key | , |
Hover for Function Info | I |
Go to Definition | <leader>gd |
Go to Last Cursor Position | <C-o> |
Code Action | <leader>ca |
Format Code | <leader>cf |
Open File Explorer | <C-b> |
Search Files | <C-p> |
Search Text (Ripgrep) | <leader>g |
Action | Keybinding |
---|---|
Run Build Task | <leader>bb |
Add Breakpoint | <leader>db |
Start Debugging | <leader>dc |
Step Over | <leader>do |
Step Into | <leader>di |
Step Out | <leader>du |
Toggle DAP UI | <leader>dut |
Action | Keybinding |
---|---|
Open LazyGit | <leader>lg |
Git Diff | <leader>gd |
Git Commit | <leader>gc |
Action | Keybinding |
---|---|
Enable Copilot | :Copilot setup |
Accept Suggestion | <Right> |
Understand the file tree for easy customization:
.
├── Dockerfile
├── README.md
├── init.lua
├── lazy-lock.json
└── lua
├── core
│ ├── colorscheme.lua
│ ├── commands.lua
│ ├── keymaps.lua
│ └── options.lua
└── plugins
├── alpha-nvim.lua
├── autopairs.lua
├── colorscheme.lua
├── completion.lua
├── debugging.lua
├── lazygit.lua
├── lsp-config.lua
├── lualine.lua
├── neogen.lua
├── none-ls.lua
├── nvimtree.lua
├── tagbar.lua
├── telescope.lua
├── todo_comments.lua
└── treesitter.lua
You can try this configuration inside a Docker container:
docker build -t neovim-config-test .
Run the container:
docker run --rm -it neovim-config-test
To remove the image afterward:
docker rmi neovim-config-test
🚀 Enjoy your enhanced Neovim experience! 🚀