Neovim Configuration with LazyVim
This repository contains my personal Neovim configuration, built on top of LazyVim, a modern and modular Neovim configuration framework. It is designed to be lightweight, extensible, and tailored to my workflow, with a focus on productivity and ease of use.
Features
- LazyVim Base: Leverages LazyVim's sensible defaults and plugin management for a streamlined setup.
- Custom Plugins: Includes plugins for code completion, syntax highlighting, file navigation, and more, configured to suit my preferences.
- Keybindings: Personalized keymappings for efficient editing and navigation.
- Theme: Configured with a clean, distraction-free theme for comfortable coding sessions.
- LSP Support: Integrated Language Server Protocol (LSP) for robust autocompletion, diagnostics, and code navigation.
- Modular Structure: Organized configuration files for easy customization and maintenance.
Prerequisites
To use this configuration, you need:
- Neovim (version 0.9.0 or higher)
- Git (for cloning the repository and managing plugins)
- A terminal with a Nerd Font (recommended for icons and UI elements)
- Optional: Language servers for your programming languages (e.g., via
npm,pip, or other package managers)
Installation
-
Clone the Repository:
git clone https://github.com/quiet-ghost/nvim.git ~/.config/nvim -
Start Neovim:
-
Install Plugins: LazyVim will automatically install plugins on the first run. Wait for the plugin installation to complete (you'll see a notification in Neovim).
-
Optional: Install Language Servers: If you use LSP, install the necessary language servers for your programming languages. For example:
- Python:
pip install pyright - JavaScript/TypeScript:
npm install -g typescript-language-server
- Python:
Structure
init.lua: Entry point for the Neovim configuration.lua/config/: Core LazyVim configuration files (e.g., options, keymaps).lua/plugins/: Plugin specifications and custom configurations.after/ftplugin/: Filetype-specific settings.
Customization
To customize this configuration:
- Edit
lua/config/options.luafor general Neovim settings. - Modify
lua/config/keymaps.luato add or change keybindings. - Add or remove plugins in
lua/plugins/. Each plugin has its own file for clarity. - Refer to the LazyVim documentation for advanced configuration options.
Contributing
This is a personal configuration, but suggestions and improvements are welcome! Feel free to open an issue or submit a pull request.
License
This configuration is licensed under the MIT License.
Acknowledgments
- LazyVim for providing an excellent foundation.
- The Neovim community for their amazing plugins and resources.