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

https://github.com/florianbx/nvim_config

Customized NeoVim setup for enhanced VueJS, Angular, TailwindCSS, and TypeScript development, featuring integrated tools like Prettier and ESLint, along with a suite of efficient keyboard shortcuts for streamlined coding workflows.
https://github.com/florianbx/nvim_config

keymapping lsp lua manson noice nvim nvim-configs nvim-lazy

Last synced: about 1 month ago
JSON representation

Customized NeoVim setup for enhanced VueJS, Angular, TailwindCSS, and TypeScript development, featuring integrated tools like Prettier and ESLint, along with a suite of efficient keyboard shortcuts for streamlined coding workflows.

Awesome Lists containing this project

README

          

# ✨ Flbx-nvim

> **Modern, modular Neovim configuration optimized for Vue.js/TypeScript development**

![](https://img.shields.io/badge/Vue%20js-35495E?style=for-the-badge&logo=vuedotjs&logoColor=4FC08D)
![](https://img.shields.io/badge/Angular-DD0031?style=for-the-badge&logo=angular&logoColor=white)
![](https://img.shields.io/badge/TypeScript-007ACC?style=for-the-badge&logo=typescript&logoColor=white)
![](https://img.shields.io/badge/Tailwind_CSS-38B2AC?style=for-the-badge&logo=tailwind-css&logoColor=white)

Screenshot 2025-07-08 at 11 31 14 PM

## 🚀 Features

- **🏗️ Modular Architecture** - Organized plugin categories for maintainability
- **🎯 Vue.js/TypeScript Focus** - Specialized configurations for modern web development
- **🤖 GitHub Copilot Integration** - AI-powered code completion
- **⚡ Performance Optimized** - Smart lazy loading and efficient configurations
- **📁 File Explorer** - Neotree for seamless navigation
- **🔍 Enhanced Git Workflow** - Gitsigns, LazyGit, and Diffview integration
- **💾 Session Management** - Automatic workspace persistence

## 📦 Installation

```sh
git clone https://github.com/FlorianBx/nvim_config ~/.config/nvim
nvim
```

### Requirements
- **Neovim 0.9+** - Required for modern features
- **Git** - Plugin management
- **Node.js** - LSP servers and formatters
- **ripgrep** - Fast searching (`brew install ripgrep`)
- **fd** - Fast file finding (`brew install fd`)

### Optional
- **lazygit** - Git UI (`brew install lazygit`)
- **tmux** - Terminal multiplexing

## ⚡ Key Bindings

> **Leader key:** ``

### 📝 Essential

| Key | Action |
|-----|---------|
| `jj` | Exit insert mode |
| `ew` | Save file |
| `eq` | Quit window |
| `r` | Reload buffer |
| `ga` | Select all |

### 🪟 Window & Buffer

| Key | Action |
|-----|---------|
| `ss` / `sv` | Split horizontal/vertical |
| `sx` / `sw` | Close split/other splits |
| `` / `` | Previous/next buffer |
| `c` | Close buffer |

### 🔍 Navigation (Telescope)

| Key | Action |
|-----|---------|
| `ff` | Find files |
| `fg` | Live grep |
| `fb` | Open buffers |
| `fr` | Recent files |
| `ft` | Search TODOs |

### 📁 File Explorers

| Key | Action |
|-----|---------|
| `ee` | Neotree file explorer |

### 🎯 Harpoon (Quick Navigation)

| Key | Action |
|-----|---------|
| `ha` | Add file to Harpoon |
| `hh` | Open Harpoon menu |
| `1-4` | Jump to Harpoon files |

### 🔧 LSP & Diagnostics

| Key | Action |
|-----|---------|
| `gd` | Go to definition |
| `gr` | Go to references |
| `gi` | Go to implementation |
| `K` | Show hover info |
| `ca` | Code actions |
| `rn` | Rename symbol |
| `ll` | Format buffer |
| `d` | Show diagnostics |
| `[d` / `]d` | Prev/next diagnostic |

### 🤖 AI Completion (Copilot)

| Key | Mode | Action |
|-----|------|---------|
| `` | Insert | Accept suggestion |
| `` | Insert | Dismiss suggestion |
| `` | Insert | Next suggestion |
| `` | Insert | Previous suggestion |

### 📝 Snippets

| Key | Mode | Action |
|-----|------|---------|
| `` | Insert | Expand or jump snippet |
| `` | Insert | Jump back in snippet |
| `` | Insert | Change snippet choice |

### 🎨 Vue.js Snippets

| Trigger | Description |
|---------|-------------|
| `vue3` | Vue 3 component template |
| `vref` | Vue ref with TypeScript |
| `vreactive` | Vue reactive with TypeScript |
| `vcomputed` | Vue computed property |
| `vwatch` | Vue watch function |
| `vprops` | Vue props with TypeScript |
| `vemits` | Vue emits with TypeScript |

### 🅰️ Angular Development

| Key | Action |
|-----|---------|
| `ac` | Go to component.ts |
| `at` | Go to component.html |
| `as` | Go to component.spec.ts |
| `acc` | Go to component.css |
| `ass` | Go to component.scss |

### 🔀 Git Integration

| Key | Action |
|-----|---------|
| `gp` | Preview git hunk |
| `gm` | Toggle line blame |
| `lg` | Launch LazyGit |
| `gv` | Git diff view |
| `gt` | Git file history |

### 🚨 Trouble & TODOs

| Key | Action |
|-----|---------|
| `xx` | Trouble diagnostics |
| `xw` | Workspace diagnostics |
| `xq` | Quickfix list |
| `nt` / `pt` | Next/prev TODO |

### 🖥️ TMUX Navigation

| Key | Action |
|-----|---------|
| `` / `` / `` / `` | Navigate panes |
| `` | Navigate to previous pane |

### 💾 Session Management

| Key | Action |
|-----|---------|
| `wr` | Restore workspace |
| `wl` | Load last session |
| `we` | Exclude session |

## 🧩 Plugin Architecture

### 📂 Structure
```
lua/florian/plugins/
├── ui/ # Colorscheme, which-key, dressing
├── navigation/ # Telescope, neotree, harpoon, tmux-nav
├── editor/ # Treesitter, formatting, trouble
├── coding/ # Completion, copilot, snippets
├── git/ # Gitsigns, lazygit, diffview
└── lsp/ # LSP configurations
```

### 🎯 Core Plugins
- **Lazy.nvim** - Plugin manager with smart loading
- **Telescope** - Fuzzy finder with fzf integration
- **Neotree** - A file explorer for Neovim
- **Copilot** - AI-powered code completion
- **Conform.nvim** - Modern formatting with Prettier
- **Harpoon** - Quick project navigation
- **Trouble.nvim** - Diagnostics and quickfix
- **LSP** - Native LSP with Mason auto-install

### 🌐 Language Support
- **Vue.js** - Volar LSP with Vue 3 + TypeScript
- **TypeScript/JavaScript** - Advanced IntelliSense
- **Angular** - Component navigation with ng-croissant
- **HTML/CSS** - Tailwind CSS integration
- **Markdown** - Enhanced editing

## 🎨 Customization

### 📝 Key Files
- `lua/florian/core/keymaps.lua` - All keybindings
- `lua/florian/core/options.lua` - Neovim settings
- `lua/florian/plugins/` - Plugin configurations
- `lua/florian/plugins/lsp/configs/` - LSP settings

### 🔧 Performance
- **Lazy loading** - Fast startup (~50ms)
- **Smart formatting** - Excludes node_modules
- **Treesitter optimization** - Large file handling
- **Efficient diagnostics** - Configurable virtual text

## 🆕 Recent Updates

### ✨ Latest Features
- **🤖 GitHub Copilot** - AI-powered code completion
- **🏗️ Modular Architecture** - Organized plugin categories
- **⚡ Performance Optimizations** - Smart lazy loading
- **📝 Vue.js Snippets** - Comprehensive Vue 3 templates
- **🔧 Enhanced LSP** - TypeScript with inlay hints
- **📁 File Explorer** - Neotree integration

## 🙌 Credits

Thanks to the amazing Neovim community and plugin authors:
- **[folke](https://github.com/folke)** - lazy.nvim, trouble.nvim, persistence.nvim
- **[ThePrimeagen](https://github.com/ThePrimeagen)** - Harpoon
- **[stevearc](https://github.com/stevearc)** - conform.nvim
- **[sindrets](https://github.com/sindrets)** - Diffview

---

## ⚖️ License

MIT © FlorianBx