A well structured NeoVim configuration packed with features.
This configuration can serve as a starting point if you want to build your own personal configuration. Well documented, at the top of each file you can find a frontmatter which provides information.
.
├── init.lua -- Entry point
│
├── lua
│ ├── config -- User configuration
│ │ ├── options.lua -- NeoVim options
│ │ └── keymaps.lua -- General keybindings
│ │ └── icons.lua -- Icons definitions
│ │
│ ├── core -- Plugin management
│ │ ├── hotspot.lua -- Hotpot compiler (to write your plugins in Fennel)
│ │ └── lazy.lua -- Plugin manager
│ │ └── loader.lua -- Plugin loader
│ │
│ ├── modules -- Plugins organized in modules
│ │ ├── code/ -- Code related plugins
│ │ ├── completion/ -- Code completion plugins
│ │ ├── debugger/ -- Debugger related plugins
│ │ ├── editor/ -- Plugins to enhance edition experience
│ │ ├── lang/ -- Programming languages specific plugins
│ │ ├── lsp/ -- Language servers support
│ │ ├── term/ -- Terminal plugins
│ │ ├── tools/ -- Various utilities
│ │ ├── ui/ -- Plugins for better user experience
The following tools are required for the plugins to work properly and provide the best experience:
- npm
- fzf: CLI Fuzzy finder
- sad: CLI search and replace
- fd: Modern find alternative
- lazygit: Git TUI
- delta: Syntax highlighting pager for git, diff and grep
- ripgrep: Grep on steroids
- nvim-autopair: Autopairs with support for multiple chars
- nvim-ts-autotag: Autoclose and autorename tags
- nvim-colorizer: Color highlighter
- Comment: Operator to toggle comments
- rainbow-delimiters: Rainbow delimiters using treesitter
- nvim-treesitter-context: Code context
- trouble.nvim: Pretty diagnostics
- gitsigns: Git gutter decorations
- vim-illuminate: Automatic highlighting of word under cursor
- indent-blankline: Ident guides
- neotest: Framework for interacting with tests
- nvim-surround: Surrounding delimiters with ease
- nvim-cmp: Completion engine
- nvim-dap: Debug adapter protocol client
- nvim-dap-ui: UI for nvim-dap
- mason-nvim-dap: Install debug adapters with Mason
- cmp-dap: Completion source for nvim-dap
- vim-abolish: Work with variants of a word
- better-escape: Quick escape from insert mode
- beacon: Flash cursor on jump
- nvim-ufo: Modern looking folds
- range-highlight: Automatically highlight ranges
- relative-toggle: Automatic toggle to relative line numbers
- vim-repeat: Extended usage of repeat (.) command
- sad: Search and replace
- unimpaired: Pairs of useful mappings
- nvim-lspconfig: Quickstart LSP configs
- lspsaga: Improved LSP experience
- null-ls: Inject LSP diagnostics
- lspkind: Icons for completion menu
- toggleterm: Terminal window
- vim-tmux-navigator: Seamless navigation between tmxux and neovim
- telescope: Fuzzy finder
- telescope-file-browser: Filebrowser extension for Telescope
- tree-sitter: Syntax highlighter
- targets: Additional targets from text objects
- nvim-tree: File explorer
- project: Project management
- persisted: Automated session management
- mason: Package manager for lsp and dap servers
- overseer: Task runner and job manager
- catppuccin: Catppuccin theme
- alpha: Start screen
- nvim-web-devicons: Additional icons
- dressing: Improved vim.ui interfaces
- statuscol: Configurable status column with click handlers
- which-key: Keymap help
- notifier: Non intrusive notification system
- noice: Replacement for command line
- lualine: Configurable statusline
- nvim-pqf: Prettier QuickFix list
- bufferline: Snazzy bufferline