logo
0
0
WeChat Login
✨ expands README with comprehensive description of Neovim Lua configuration, plugin ecosystem, features, key mappings, and installation instructions

Neovim Configuration

This is a modern Neovim configuration based on Lua. It uses lazy.nvim for plugin management and includes a wide range of plugins to enhance the development experience, from UI improvements to powerful coding assistance features.

Features

  • Plugin Manager: Uses lazy.nvim for fast and easy plugin management.
  • Modern UI: A beautiful and functional UI with a custom theme, file icons, bufferline, and statusline.
  • Enhanced LSP: Full-featured Language Server Protocol (LSP) support with auto-completion, code navigation, and diagnostics.
  • Debugging: Integrated debugging support with nvim-dap and a UI for a seamless debugging experience.
  • AI-Powered Development: Integrates with GitHub Copilot and CodeCompanion for AI-assisted coding.
  • File Explorer: A modern file explorer with oil.nvim.
  • Fuzzy Finding: Fast fuzzy finding for files, buffers, and more with snacks.nvim.
  • Syntax Highlighting: Advanced syntax highlighting with nvim-treesitter.
  • Git Integration: Git integration with diffview.nvim and snacks.nvim.
  • And much more: Auto-pairing, surrounding, commenting, code formatting, and more.

Plugin Manager

This configuration uses lazy.nvim as its plugin manager. The plugin configurations are located in the lua/plugins/ directory.

Key commands for managing plugins:

  • <leader>ll: Open the lazy.nvim interface.
  • <leader>li: Install plugins.
  • <leader>ls: Sync plugins.
  • <leader>lu: Update plugins.
  • <leader>lc: Check for updates.

Plugins

Here is a list of the main plugins used in this configuration:

Core

UI

Development

Debugging

AI

Utility

Key Mappings

This configuration defines a set of key mappings to streamline your workflow. Here are some of the most important ones:

  • <leader>: The leader key is mapped to the space bar.
  • <leader>e: Open the file explorer.
  • <leader>f: Find files, buffers, and more.
  • <leader>s: Search for text in files.
  • <leader>g: Git related actions.
  • <leader>l: LSP related actions.
  • <leader>a: AI related actions.
  • <leader>w: Session management.
  • <leader>b: Buffer management.
  • <leader>u: Utility toggles (spell, wrap, etc.).

For a full list of key mappings, please refer to the lua/base/mappings.lua file.

Installation

Linux

git clone https://cnb.cool/franklxw/neovim $HOME/.config/nvim

Windows

git clone https://cnb.cool/franklxw/neovim $HOME\AppData\Local\nvim
git clone https://cnb.cool/franklxw/neovim ~\AppData\Local\nvim

Attention

If you want to use the LSP features, you need to install the language servers manually. You can do this using mason.nvim, which is included in this configuration.