Skip to content

oathlesss/nvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Neovim Configuration

A modern, minimal Neovim configuration built around the mini.nvim ecosystem with LSP support and essential development tools.

Requirements

  • Neovim 0.11+
  • Git (for plugin management)

Features

Core Functionality

  • Plugin Management: Uses mini.deps for lightweight dependency management
  • LSP Support: Pre-configured language servers for Go, Lua, TypeScript, and Python
  • File Navigation: Oil.nvim for directory editing and Harpoon for quick file switching
  • Fuzzy Finding: Built-in picker with mini.pick for files, buffers, and live grep
  • Git Integration: Visual diff, git commands, and commit history browsing with mini.git and mini.diff
  • Task Running: Overseer for task management and execution

Mini.nvim Modules

Additional Plugins

  • Oil.nvim: File manager for directory editing
  • Harpoon: Quick file navigation and bookmarking
  • Barbecue: LSP-powered breadcrumb navigation
  • Undotree: Visual undo history
  • Overseer: Task runner and job management
  • Supermaven: AI-powered code completion

Colorschemes

  • Vague: Default colorscheme
  • Rose Pine: Alternative colorscheme option

Installation

  1. Clone this configuration:

    git clone <your-repo-url> ~/.config/nvim
  2. Start Neovim - mini.nvim will be automatically installed on first run

Key Bindings

Leader Keys

  • Leader: <Space>
  • Local Leader: <Enter>

File Operations

  • <leader>ff - Find files
  • <leader>fg - Live grep
  • <leader>fG - Grep word under cursor
  • <leader><space> - Switch buffers
  • <leader>e - Open Oil file manager

LSP

  • gd - Go to definition
  • <leader>ls - Show document symbols
  • <leader>lr - Rename symbol
  • <leader>la - Code actions
  • <leader>le - Show diagnostics
  • <leader>bf - Format buffer

Git

  • <leader>gb - Git log for current file
  • <leader>gd - Toggle visual diff
  • <leader>gh - Git range history
  • <leader>ga - Git add all
  • <leader>gc - Quick commit with "wip" message

Utilities

  • <leader>ut - Toggle undotree
  • <leader>or - Run Overseer task
  • <leader>fc - Change colorscheme
  • <leader>up - Toggle password masking
  • YY - Yank entire buffer
  • <Esc> - Clear search highlights

Language Server Configuration

Pre-configured LSP servers in the lsp/ directory:

  • Go: gopls - Official Go language server
  • Lua: lua_ls - Lua language server
  • TypeScript/JavaScript: ts_ls - TypeScript language server
  • Python: basedpyright - Python language server based on Pyright

See the Adding LSP Servers Guide for instructions on adding new language servers.

Documentation

Comprehensive guides are available in the docs/ directory:

Customization

The configuration is modular with separate files for different concerns:

  • lua/core/options.lua - Vim options and settings
  • lua/core/keybinds.lua - Key mappings
  • lua/core/mini-modules.lua - Mini.nvim plugin configurations
  • lua/core/lsp.lua - LSP setup
  • lsp/*.lua - Individual language server configurations

See the Customization Guide for detailed instructions on modifying the configuration.

Notable Features

  • Smart Folding: Tree-sitter based folding with all folds open by default
  • Persistent Undo: 10,000 levels of undo history
  • Password Masking: Automatically hide sensitive information in files
  • Smooth Scrolling: Enhanced scrolling experience
  • Auto-formatting: LSP-based formatting with fallback to Vim's built-in formatter

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages