This is a repository for my personal Neovim configuration.
Here is a brief summary of what each file does:
init.lua
: This file is the starting point for the configuration. It requires several other files, which in turn set up various aspects of Neovim.packer.lua
: This file manages the plugins that the configuration uses.options.lua
: This file sets up the various options for Neovim.keymaps.lua
: This file sets up key mappings to make Neovim easier to use.
- Packer: A package manager for Neovim.
- Telescope: A fuzzy finder and sorter.
- Which Key: A plugin that shows you the available keybindings.
- Color Schemes: Gruvbox, Everforest, Nightfox, Onedark, Catppuccin
- Cmp and its various plugins: Autocompletion plugins.
- LuaSnip and Friendly Snippets: Snippet engines.
- LSP and Mason: Language Server Protocols and their installer.
- Null-ls: A plugin for formatters and linters.
- Illuminate: Helps with highlighting references in the code.
- Treesitter: Syntax highlighting and code understanding.
- Surround: Allows easy manipulation of "surroundings" in the code.
- TS AutoTag and Autopairs: Automatically closes XML/HTML tags and pairs of brackets/quotes.
- Copilot: A code suggestion engine by GitHub.
- Nvim-Tree: A file explorer.
- Project: Project navigation.
- Comment: Easy code commenting.
- Bufferline: A better bufferline for Neovim.
- Lualine: A light and configurable statusline/tabline for Neovim.
- Gitsigns: Shows git signs in the code.
- ToggleTerm: Terminal integration.
To install this configuration, follow these steps:
- Install Neovim.
- Clone this repository to your Neovim configuration directory. For Unix-based systems, this is typically
~/.config/nvim
. - Open Neovim and run
:PackerInstall
. This will install all the plugins specified inpacker.lua
.
No additional setup should be necessary beyond the installation instructions above. The configuration files have been set up to automatically configure Neovim when it starts.
This configuration requires the Neovim text editor, version 0.5 or higher. All other dependencies (i.e., plugins) are managed by the configuration itself.