diff --git a/README.md b/README.md new file mode 100644 index 0000000..d2cd6ed --- /dev/null +++ b/README.md @@ -0,0 +1,66 @@ +# 🌙 Rootiest Neovim + +A modern, modular, and high-performance Neovim configuration built from scratch with a focus on simplicity, speed, and standard Neovim primitives. + +![Neovim](https://img.shields.io/badge/Neovim-0.10+-blue?logo=neovim) +![License](https://img.shields.io/badge/License-GPLv3+-green) + +## ✨ Highlights + +- **Built-in Package Management**: Exclusively uses `vim.pack` for lightweight, native plugin management. +- **Phased Loading**: Async, non-blocking startup using a phased `VimEnter` queue for a snappy experience. +- **Unified Registry**: Configuration is managed via a global `_G.Config` registry, ensuring cross-plugin consistency. +- **High Performance**: Featuring **blink.cmp** (Rust-based completion) and optimized **Snacks.nvim** components. +- **AI-Powered**: Native integration with the **GitHub Copilot Language Server**. +- **User-Centric QoL**: Hybrid line numbers, autosave-on-edit, and seamless system clipboard integration. + +## 📁 Architecture + +The configuration is strictly modular: + +- `init.lua`: Entry point and global state initialization. +- `lua/lazyload.lua`: Logic for async and phased plugin loading. +- `lua/options.lua`: Global Vim settings and non-plugin autocommands. +- `lua/plugins.lua`: Plugin declarations and detailed registry-based configurations. +- `lua/keymaps.lua`: Centralized user-facing keybindings. + +## 🚀 Getting Started + +### Prerequisites + +- **Neovim 0.10+** +- **Nerd Font** (Mono variant recommended for optimal UI alignment) +- **Cargo** (Required for building `blink.cmp` fuzzy matching library) +- **Node.js** (Required for various LSPs and Copilot) + +### Installation + +```bash +git clone https://github.com/your-username/nvim-config ~/.config/nvim +nvim +``` + +### Post-Install + +1. **Build Blink**: If completion isn't working, run `cargo build --release` inside `~/.local/share/nvim/site/pack/core/opt/blink.cmp`. +2. **LSP Servers**: Run `:Mason` to monitor the installation of Language Servers (Lua, C, Rust, Python, etc.). +3. **Copilot**: Run `:LspCopilotSignIn` to authenticate with GitHub. + +## ⌨️ Key Features & Mappings + +| Key | Description | +| :--- | :--- | +| `` | Smart Find Files (Snacks) | +| `e` | File Explorer | +| `ff` | Find Files | +| `sg` | Project-wide Grep | +| `gd` / `gr` | Go to Definition / References | +| `K` | Hover Documentation | +| `s` / `S` | Leap Motion (Normal/Window) | +| `ys` / `ds` | Mini.surround (Add/Delete) | +| `:Q` | Forced Write-All and Quit | + +## 📜 License + +Distributed under the **GPLv3 or later** License. See `LICENSE` for more information. +