logo
0
0
WeChat Login
✨ add TypeScript language server configuration and associate it with JavaScript files for enhanced LSP support; update init.lua to include JavaScript and TypeScript in server setup; improve BufferSmartClose function for better buffer handling; extend BlinkCmp plugin with autocmds for Copilot suggestion visibility; add clang_format for C files and deno_fmt for CSS in Conform plugin for better code formatting.

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.

About

neovim configuration

Language
Lua99.7%
Others0.3%