Skip to content

genexu/nvim-config

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NVim Config

preview

Requirements

  • Neovim (v0.8+)
  • ripgrep - Required for FzfLua live grep
  • fd - (Optional) Faster alternative to find for FzfLua
  • nerd-fonts - Required for icons in NvimTree

Plugin Manager

This configuration uses lazy.nvim as the plugin manager. Lazy.nvim will be automatically installed on first startup.

Installation

  1. Clone this repository.
  2. Link the init.lua and lua directory to the Neovim configuration directory, usually ~/.config/nvim.
ln -s $PWD/init.lua ~/.config/nvim/init.lua
ln -s $PWD/lua ~/.config/nvim/lua
  1. Start Neovim - lazy.nvim will automatically bootstrap and install all plugins.
  2. Optionally run :Lazy to open the plugin manager interface.

Keybindings

Keybinding Description
[n] <leader> \
[n] <leader>ff FzfLua find files
[n] <leader>fg FzfLua live grep
[n] <leader>fb FzfLua buffers
[v] <C-f> FzfLua live grep selection
[n] <C-r> FzfLua resume
[n] <C-,> Buffer previous
[n] <C-.> Buffer next
[n] <C-p> Buffer pick
[n] <C-e> NvimTree toggle
[n] <leader>nf NvimTree find file
[n] <leader>nc NvimTree collapse
[n] <leader>p Format with conform.nvim
[n] <leader>e Open diagnostics float
[n] <leader>xx Trouble diagnostics toggle
[n] <leader>xX Trouble diagnostics toggle (current buf)
[n] <leader>zR UFO Open all folds
[n] <leader>zM UFO Close all folds

AI Integration

GitHub Copilot

copilot.vim

Run :Copilot setup to configure Copilot.

Optional AI Plugins (Commented Out)

Additional AI plugins are available but currently commented out:

  • Avante: AI coding assistant with Claude/OpenAI integration
  • MCPHub: Model Context Protocol server integration

To enable: uncomment the plugin specs in lua/plugins.lua and configure as needed.

LSP (Language Server Protocol)

This configuration uses Mason for automatic LSP server management. Configured language servers include:

  • TypeScript/JavaScript: ts_ls (formerly tsserver)
  • Python: pyright
  • Go: gopls
  • Lua: lua_ls
  • HTML: html
  • CSS: cssls

LSP servers are automatically installed and configured through Mason. For more server configurations, see the nvim-lspconfig documentation.

Plugins

Core

UI & Themes

Navigation

  • fzf-lua - Fast and powerful file finder and grep

LSP & Completion

Git Integration

Language & Syntax

Utilities

AI

Configuration Structure

nvim-config/
├── init.lua              # Entry point, bootstraps lazy.nvim and loads modules
├── lua/
│   ├── globals.lua       # Global variables and aliases
│   ├── settings.lua      # Neovim settings and options
│   ├── keybindings.lua   # Custom keybindings
│   ├── plugins.lua       # Plugin definitions with lazy.nvim
│   └── configs/          # Individual plugin configurations
│       ├── conform.lua
│       ├── dashboard-nvim.lua
│       ├── lazy.lua
│       ├── lsp.lua
│       ├── neoscroll.lua
│       ├── nvim-cmp.lua
│       ├── nvim-lint.lua
│       ├── mason-nvim-lint.lua
│       ├── nvim-tree.lua
│       ├── nvim-treesitter.lua
│       ├── statuscol.lua
│       └── ufo.lua
└── assets/
    └── preview.png

Recommended Terminal

WezTerm with Tokyo Night Moon color scheme:

config.color_scheme = 'Tokyo Night Moon'

For more information, see the WezTerm configuration documentation.

About

NVim config and setup shell

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages