Skip to content
dwilliam62Public
forked from Abhra00/BUGSVIM

About

Very Fast NeoVIM config for programmers

Topics

Resources

Stars

7 stars

Watchers

0 watching

Forks

Β 
Β 

Latest commit

Β 

History

158 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

bugsvim β€” Modern NeoVim Configuration

About

bugsvim is a thoughtfully curated NeoVim configuration built for modern development workflows. It combines the power of Lua-based configuration with a carefully selected collection of plugins to provide a fast, extensible, and enjoyable editing experience.

Acknowledgments

This configuration is forked from BUGSVIM by Abhra00. We are grateful for the excellent foundation and extend our thanks to:

  • Abhra00 for the original BUGSVIM project
  • folke and the lazy.nvim team for the exceptional plugin manager
  • nvim-treesitter contributors for intelligent syntax parsing
  • All maintainers of the plugins integrated into this configuration

Features

🎨 Beautiful & Responsive

  • Tokyo Night colorscheme with carefully tuned defaults
  • Dynamic statusline via lualine showing real-time editor information
  • Smart session persistence that survives restarts
  • Smooth animations and visual feedback

🧠 Intelligent Development

  • Complete LSP ecosystem with support for:
    • Lua (lua-language-server)
    • Python (Pyright + Ruff)
    • TypeScript/JavaScript (ts_ls)
    • C/C++ (clangd)
    • Rust (rust-analyzer)
    • Bash (bash-language-server)
    • HTML, CSS, Tailwind CSS
    • Hyprland (hyprls)
    • Java (JDTLS)
  • Enhanced diagnostics with inline error messages, gutter signs, and floating windows
  • Advanced code completion via Blink Cmp with intelligent caching
  • Multi-formatter support via Conform (stylua, shfmt, clang-format, prettier)
  • Real-time linting with nvim-lint
  • Interactive debugging support via nvim-dap

πŸš€ Productivity

  • Treesitter-powered syntax highlighting and text objects
  • Fast fuzzy finding and navigation
  • Git integration with gitsigns for inline blame and diff hunks
  • Task & TODO tracking with todo-comments
  • Smart snippets for rapid coding
  • Lazy loading for sub-millisecond startup times
  • Which-key integration for discoverable keybindings
  • Beautiful UI with Noice.nvim - command palette and event notifications in popup windows

πŸ› οΈ Developer Tools

  • Spring Boot development support
  • Java Development via JDTLS
  • Markdown support with live preview in browser (markdown-preview.nvim)
  • Enhanced markdown editing with checkbox and table support (markdown.nvim)
  • Snacks.nvim for notifications, animations, and quality-of-life features
  • Mini.nvim utilities for enhanced editing
  • LazyDev for integrated Neovim API documentation

✨ Extra Polish

  • Persistent undo history
  • Auto-formatting on save
  • Smart keybindings
  • Graceful error handling

Installation

Quick Install (Recommended)

bugsvim provides automated installation and update scripts for major distributions.

One command (auto-detects your distribution)

git clone https://github.com/dwilliam62/bugsvim ~/.config/bugsvim
cd ~/.config/bugsvim
bash install.sh

install.sh detects your OS/distro and dispatches to the matching driver in installers/. It is the intended entry point - the per-distro commands below are explicit fallbacks for when you want to pick the driver yourself.

Arch Linux

git clone https://github.com/dwilliam62/bugsvim ~/.config/bugsvim
cd ~/.config/bugsvim
bash installers/install-arch.sh

# Or update existing installation
bash installers/install-arch.sh -u

Debian / Ubuntu

git clone https://github.com/dwilliam62/bugsvim ~/.config/bugsvim
cd ~/.config/bugsvim
bash installers/install-debian.sh

# Or update existing installation
bash installers/install-debian.sh -u

Fedora

git clone https://github.com/dwilliam62/bugsvim ~/.config/bugsvim
cd ~/.config/bugsvim
bash installers/install-fedora.sh

# Or update existing installation
bash installers/install-fedora.sh -u

Gentoo Linux

git clone https://github.com/dwilliam62/bugsvim ~/.config/bugsvim
cd ~/.config/bugsvim
bash installers/install-gentoo.sh

# Or update existing installation
bash installers/install-gentoo.sh -u

OpenSUSE

git clone https://github.com/dwilliam62/bugsvim ~/.config/bugsvim
cd ~/.config/bugsvim
bash installers/install-opensuse.sh

# Or update existing installation
bash installers/install-opensuse.sh -u

Alpine Linux

git clone https://github.com/dwilliam62/bugsvim ~/.config/bugsvim
cd ~/.config/bugsvim
bash installers/install-alpine.sh

# Or update existing installation
bash installers/install-alpine.sh -u

Bazzite (Fedora Atomic)

git clone https://github.com/dwilliam62/bugsvim ~/.config/bugsvim
cd ~/.config/bugsvim
bash installers/install-bazzite.sh

# Or update existing installation
bash installers/install-bazzite.sh -u

FreeBSD / OpenBSD / NetBSD

# FreeBSD
bash installers/install-freebsd.sh

# OpenBSD
bash installers/install-openbsd.sh

# NetBSD
bash installers/install-netbsd.sh

Windows (PowerShell)

git clone https://github.com/dwilliam62/bugsvim $env:LOCALAPPDATA\bugsvim
Set-Location $env:LOCALAPPDATA\bugsvim
.\install-windows.ps1

The installation scripts provide:

  • Full Installation: Detects distribution, backs up existing NeoVim configurations, installs required system packages/LSPs, configures user-level npm, verifies setup, and copies config to ~/.config/nvim.
  • Modular Update Mode (-u / --update): Checks/installs tree-sitter-cli, cleans legacy nvim-treesitter caches from older master checkouts, and synchronizes the latest configuration.
  • Config Update Mode (-c / --update-config): Pulls the repo, backs up ~/.config/nvim, re-syncs it from the repo (removing files that no longer exist upstream) and runs :Lazy sync so new plugins get installed.

See INSTALL.md and INSTALL-SCRIPTS.md for detailed instructions.

Required Packages

Core Dependencies

Package Purpose
neovim (0.10+) Text editor (0.10, 0.11, 0.12+)
git Version control
tree-sitter-cli Treesitter parser compiler
ripgrep Fast file search
fd Fast directory traversal
curl Network requests
build-essential / @development-tools C/C++ compilation
pkg-config Development libraries

Language Servers (LSP)

LSP Language(s) Installation
lua-language-server Lua System package
clangd C/C++ System package
pyright Python pip3 or AUR
ts_ls TypeScript/JavaScript Npm
rust-analyzer Rust System package
bash-language-server Bash/Shell Npm
html HTML Npm
cssls CSS Npm
tailwindcss Tailwind CSS Npm
hyprls Hyprland Config AUR / Manual build
JDTLS Java Npm

Code Formatters

Formatter Language(s) Installation
stylua Lua System package
shfmt Shell/Bash System package
clang-format C/C++ System package
prettier Web (JS/CSS/HTML) Npm
prettierd Web (daemon mode) Npm

Optional Utilities

Tool Purpose Installation
lazygit Git UI client System package
bat Better cat System package
wl-clipboard Clipboard access (Wayland) System package

First Run

After installation:

# Reload your shell to apply PATH changes
source ~/.$(basename $SHELL)rc

# Launch NeoVim
nvim

# Plugins will auto-install on first launch
# Verify LSP status: :LspInfo
# Check health: :checkhealth

For detailed post-installation setup, see POST-INSTALL.md.

Configuration Structure

All configuration is organized in ~/.config/nvim/lua/:

nvim/
β”œβ”€β”€ init.lua              # Entry point
└── lua/
    β”œβ”€β”€ config/           # Core configuration
    β”‚   β”œβ”€β”€ options.lua   # Editor options & settings
    β”‚   β”œβ”€β”€ keymaps.lua   # Key bindings
    β”‚   β”œβ”€β”€ lazy.lua      # Plugin manager setup
    β”‚   β”œβ”€β”€ autocmds.lua  # Auto commands
    β”‚   └── globals.lua   # Global variables
    β”œβ”€β”€ plugins/          # Plugin specifications
    β”œβ”€β”€ servers/          # LSP configurations
    └── utils/            # Utility functions

Troubleshooting

For common issues and solutions, see POST-INSTALL.md.

License

This project is licensed under the GNU General Public License v3 (GPL-3.0).

You are free to:

  • Use this software for any purpose
  • Distribute copies
  • Modify the source code

Under the condition that:

  • You provide source code availability (include it or link to it)
  • Any modified versions must also use GPL-3.0
  • You include the license and copyright notices

See the LICENSE file for the full text.

Support

For issues or contributions, visit the GitHub repository.

About

Very Fast NeoVIM config for programmers

Topics

Resources

Stars

7 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages