Skip to content

chengwu26/nvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

156 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

My Neovim Configuration

Base on lazy.nvim

Neovim Startup Mode

This configuration supports a flexible startup level system based on command-line proxy name, allowing you to control which plugins are loaded depending on the launch context:

  • Minimal: No plugins are loaded. Triggered when vim.v.argv[1] == 'vi', e.g. env -a vi nvim
  • Basic: Development plugins are skipped. Triggered when vim.v.argv[1] == 'vim', e.g. env -a vim nvim
  • Full (default): All plugins defined in this configuration are loaded

This mechanism is useful for isolating development tools, or launching Neovim in a clean state. Such as the root user use neovim.

Project layout

.
├── init.lua
├── lsp/                    lsp configuration
└── lua/
    ├── core/               core configuration(plugin-independent)
    │   ├── init.lua        load below files and enable custom features
    │   ├── autocmds.lua    gloabl default autocmds
    │   ├── keymaps.lua     gloabl default keymaps
    │   └── options.lua     gloabl default options
    ├── plugins/            plugins root directory
    │   ├── init.lua        setup lazy.nvim
    │   ├── utils/          utils plugins
    │   ├── ui/             ui improved plugins
    │   └── dev/            development plugins
    └── kg/                 custom module

Dependencies

  • Neovim >= 0.11.4
  • Git >= 2.19.0(for partial clones support)
  • a Nerd Font
  • tar and curl
  • treesitter-cli >= 0.25.0
  • a C compiler
  • Node >= 23.0.0 (for some parsers)
  • unzip
  • gzip
  • yarn
  • rg
  • fd(optional)
  • For Windows, one of 7zip, peazip, archiver, winzip, WinRAR

Principle

  • Maintainable
  • Independent between plugins

    make sure you can remove any modules/plugins and not break Neovim

  • Reasonable lazy loading logic

About

My neovim configuration

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages