A modern, simple yet feature-rich Neovim configuration designed for productivity and aesthetics.
- Tokyo Night colorscheme for a modern dark theme
- Lualine statusline with icons and git integration
- Bufferline for elegant buffer/tab management
- Dashboard with a clean startup screen
- Indent guides for better code readability
- LSP support with Mason for easy language server management
- Treesitter for advanced syntax highlighting
- Telescope fuzzy finder for files, buffers, and text search
- Neo-tree file explorer with git integration
- ToggleTerm for integrated terminal management
- Auto-completion with nvim-cmp and LSP integration
- Auto-pairs for brackets, quotes, and tags
- Git integration with Gitsigns for change indicators
- Comment toggling with smart commenting
- Which-key for keybinding discovery
- Smooth scrolling for better navigation
~/.config/nvim/
├── init.lua # Main entry point
├── lua/
│ ├── config/
│ │ ├── options.lua # Neovim options
│ │ ├── keymaps.lua # Key mappings
│ │ ├── autocmds.lua # Auto commands
│ │ └── lazy.lua # Plugin manager setup
│ └── plugins/
│ ├── colorscheme.lua # Tokyo Night theme
│ ├── lualine.lua # Status line
│ ├── bufferline.lua # Buffer/tab line
│ ├── neo-tree.lua # File explorer
│ ├── telescope.lua # Fuzzy finder
│ ├── toggleterm.lua # Terminal integration
│ ├── treesitter.lua # Syntax highlighting
│ ├── lsp.lua # Language servers
│ └── extras.lua # Additional plugins
<Space>is the leader key
<leader>e- Toggle file explorer (Neo-tree)<leader>ff- Find files (Telescope)<leader>fg- Live grep (Telescope)<leader>fb- Browse buffers (Telescope)<leader>fh- Help tags (Telescope)
Shift+h- Previous bufferShift+l- Next bufferShift+q- Close buffer
Ctrl+h/j/k/l- Navigate between windowsCtrl+arrows- Resize windows
<leader>tt- Toggle terminalCtrl+\- Quick terminal toggle
gd- Go to definitionK- Hover documentation<leader>ca- Code actions<leader>rn- Rename symbol<leader>f- Format code
Leader key ist <Space> (kein Backslash). Beispiel: <leader>tp heißt Space + t + p.
Typst
<leader>tp- Preview toggle<leader>to- Preview starten<leader>ts- Preview stoppen
LaTeX (VimTeX)
<leader>lc- Kompilieren<leader>lv- PDF anzeigen<leader>lq- Kompilierung stoppen
<leader>h- Clear search highlights<leader>q- Quit allCtrl+s- Save filegcc- Comment/uncomment linegc(visual) - Comment/uncomment selection
-
Backup your existing config (if any):
mv ~/.config/nvim ~/.config/nvim.backup
-
Start Neovim:
nvim
-
Wait for plugins to install: Lazy.nvim will automatically download and install all plugins on first run.
-
Install language servers: Run
:Masonto install additional language servers for your preferred languages.
The configuration comes with these language servers pre-configured:
- Lua (lua_ls) - for Neovim configuration
- TypeScript/JavaScript (tsserver)
- Python (pyright)
- HTML (html)
- CSS (cssls)
- JSON (jsonls)
- LaTeX (texlab)
- Typst (typst_lsp)
To install additional language servers:
- Run
:Masonin Neovim - Navigate with
j/kand pressito install - Or use
:MasonInstall <server_name>
Edit lua/plugins/colorscheme.lua and replace tokyonight with your preferred theme.
Create a new file in lua/plugins/ or add to lua/plugins/extras.lua.
Edit lua/config/keymaps.lua to change or add new key mappings.
- Run
:Lazy syncto update all plugins - Run
:Lazy cleanto remove unused plugins
- Run
:LspInfoto check LSP status - Run
:Masonto reinstall language servers
- Run
:checkhealthfor Neovim health check - Consider disabling some plugins in
lua/plugins/
Enjoy your new Neovim setup! 🎉