An open API service indexing awesome lists of open source software.

https://github.com/lubasinkal/nvim

📝 My custom Neovim configuration, based on kickstart.nvim. Minimal, well-documented, and easy to customize for personal workflows. Features plugin management, language support, sensible defaults, and UI improvements for a modern Neovim experience.
https://github.com/lubasinkal/nvim

coding config golang ide javascript neovim programming python telescope typescript vim vuejs

Last synced: 20 days ago
JSON representation

📝 My custom Neovim configuration, based on kickstart.nvim. Minimal, well-documented, and easy to customize for personal workflows. Features plugin management, language support, sensible defaults, and UI improvements for a modern Neovim experience.

Awesome Lists containing this project

README

          

# 🚀 Personal Neovim Configuration

A modern, high-performance Neovim configuration bootstrapped from [kickstart.nvim](https://github.com/nvim-lua/kickstart.nvim). Designed for speed, aesthetics, and a seamless developer experience with lazy-loaded plugins via `lazy.nvim`.

## ⚡ Features

- **Blazing Fast:** Optimized startup with aggressive lazy-loading.
- **Modern UI:** Clean statusline, tabline with icons, and floating windows.
- **Git Integration:** Integrated `lazygit`, inline blame, and hunk management via `gitsigns`.
- **Search & Navigation:** Powerful fuzzy finding with `telescope` and fast jumping with `flash.nvim`.
- **File Management:** `neo-tree` for sidebar exploration and `oil.nvim` for buffer-like FS editing.
- **LSP & Autocomplete:** Full LSP support (Mason-managed) with `blink.cmp` for superior completion.
- **Productivity:** `mini.nvim` modules for surround, pairs, commenting, and more.

## 📋 Requirements

- **Neovim 0.12+** (Recommended for latest features)
- **Git** (For plugin management)
- **Ripgrep** (For fast searching)
- **FD** (For fast file finding)
- **Nerd Font** (Optional, but highly recommended for icons)

### Optional Dependencies
- **unzip**, **make**, **gcc/zig** (For compiling certain telescope extensions)
- **xclip/xsel** (Linux) or **win32yank** (Windows) for system clipboard support.

## 📥 Installation

### 1. Clone the repository

**Linux / macOS**
```sh
git clone https://github.com/lubasinkal/nvim.git "${XDG_CONFIG_HOME:-$HOME/.config}/nvim"
```

**Windows (PowerShell)**
```powershell
git clone https://github.com/lubasinkal/nvim.git "$env:LOCALAPPDATA\nvim"
```

### 2. Launch Neovim
Simply run `nvim`. All plugins will automatically download and install on the first launch.

### 🚀 Quick Setup (Windows/Scoop)
If you use [Scoop](https://scoop.sh/), you can install all dependencies at once:
```powershell
scoop bucket add extras
scoop install neovim git ripgrep fd unzip make zig nodejs win32yank lazygit
```

## ⌨️ Keybindings

This config uses `` as the **Leader** key.

| Group | Key | Description |
|---|---|---|
| **Explorer** | `e` | Toggle Neo-tree |
| **Search** | `sf` | [F]ind Files |
| **Search** | `sg` | By [G]rep |
| **Git** | `gg` | Open Lazygit |
| **Sessions** | `ws` | [S]ave Session |
| **Terminal** | `tt` | [T]oggle Floating Terminal |
| **UI** | `ub` | Toggle Inline [B]lame |

> **Pro Tip:** Press `` and wait for a second; `which-key` will pop up and show you all available mappings!

## 🛠️ Customization

Most custom logic resides in `lua/config/`:
- `options.lua`: Vim settings.
- `keymaps.lua`: Global keybindings.
- `plugins/`: Individual plugin configurations.
- `util/`: Helper scripts for terminal, sessions, and tabs.

## 📚 Resources

- `:help kickstart` - Documentation for the base config.
- `:help lua-guide` - Neovim's official Lua guide.
- [lazy.nvim](https://github.com/folke/lazy.nvim) - Plugin manager documentation.

---
*Maintained by [lubasinkal](https://github.com/lubasinkal)*