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

https://github.com/igorvieira/nvim

My NVIM Configuration ⚡
https://github.com/igorvieira/nvim

lazyvim lua nvim

Last synced: 20 days ago
JSON representation

My NVIM Configuration ⚡

Awesome Lists containing this project

README

          

## My Neovim Configuration ⚡

> A powerful, minimal, and fast Neovim configuration optimized for modern development with excellent TypeScript/React/Rust/Go support.

![Neovim](https://img.shields.io/badge/NeoVim-%2357A143.svg?&style=for-the-badge&logo=neovim&logoColor=white)
![Lua](https://img.shields.io/badge/lua-%232C2D72.svg?style=for-the-badge&logo=lua&logoColor=white)
[![Test Neovim Configuration](https://github.com/igorvieira/nvim/actions/workflows/test.yml/badge.svg)](https://github.com/igorvieira/nvim/actions/workflows/test.yml)

## Features

- LSP - TypeScript, Lua, HTML, CSS, Tailwind, Emmet
- Completion - blink.cmp
- AI - GitHub Copilot (double-tab to accept)
- Git - Gitsigns with blame + Diffview
- Find - Telescope with FZF
- File Tree - nvim-tree
- Format/Lint - conform.nvim + nvim-lint
- Theme - Dracula

## Requirements

- Neovim >= 0.10
- Git, Node.js, ripgrep
- A Nerd Font

## Installation

```bash
# Backup existing config
mv ~/.config/nvim ~/.config/nvim.backup

# Clone and install
git clone ~/.config/nvim
nvim
```

Plugins install automatically on first launch.

## Testing

```bash
make test # Run all tests
make test-quick # Quick sanity check
make health # Health checks
make ci # Full CI simulation
```

## Key Bindings

Leader: ``

### Essential
- `w` - Save
- `e` - File explorer
- `ff` - Find files
- `fs` - Search text
- `jk` - Exit insert mode

### LSP
- `gd` - Go to definition
- `gR` - Find references
- `K` - Hover docs
- `ca` - Code actions
- `rn` - Rename
- `oi` - Organize imports

### Git
- `hs` - Stage hunk
- `hp` - Preview hunk
- `gd` - Diff view
- `]c` / `[c` - Next/prev hunk

### Harpoon
- `a` - Add file
- `` - Toggle menu
- `1-4` - Jump to file

See [docs/KEYBINDINGS.md](docs/KEYBINDINGS.md) for complete list.

## Plugin Updates

Version locked via `lazy-lock.json`. Update with:
```vim
:Lazy update
```

## Documentation

- [CHANGELOG.md](CHANGELOG.md) - Version history and changes
- [docs/KEYBINDINGS.md](docs/KEYBINDINGS.md) - Complete keybinding reference

## Structure

```
~/.config/nvim/
├── init.lua # Entry point
├── lua/
│ ├── core/ # Options, keymaps, autocmds
│ └── plugins/ # Plugin configs
├── tests/ # Test suite
├── .github/workflows/ # CI/CD
└── docs/ # Documentation
```

## Maintenance

```bash
make help # Show commands
make backup # Backup config
make install # Update plugins
```

## License

MIT