Nvimdots.lua Save

Lazy AF neovim config, well structured in lua.

Project README

Neovim Config
Lua Neovim

Stars Issues Contributors Code size

R.I.P. Kentaro Miura sensei πŸ₯€

🎐 Intro

  • ⚑BLAZINGLY FAST startup time in ~20ms, with over 100 plugins. (Tested on Micron Crucial MX500)
  • Well structured in Lua.
  • Easy to customize.
  • Automized installation scripts, written in bash.
  • Use lazy.nvim as plugin manager.
  • Use delaytrain.nvim to train yourself into a better vimer, disable it if you want.
  • Aligned icons across every plugin!

🧱 Structure

${HOME}/.config/nvim

β”œβ”€β”€ after/
β”‚   └── ftplugin/                  filetype-based rules
β”œβ”€β”€ fonts/                         nerdfonts
β”œβ”€β”€ ftdetect/                      filetype detection
β”œβ”€β”€ scripts
β”‚   β”œβ”€β”€ nvim_up.sh                 script for upgrade to neovim nightly
β”‚   β”œβ”€β”€ setup_config.sh            script for installing dependencies for plugins
β”‚   └── update_config.sh           script for fetch new commits of this repo
β”œβ”€β”€ init.lua
β”œβ”€β”€ lua/
β”‚   β”œβ”€β”€ core/
β”‚   β”‚   β”œβ”€β”€ event.lua              event-based autocommands
β”‚   β”‚   β”œβ”€β”€ global.lua             global variables
β”‚   β”‚   β”œβ”€β”€ init.lua
β”‚   β”‚   β”œβ”€β”€ mapping.lua            basic keymaps
β”‚   β”‚   β”œβ”€β”€ options.lua            neovim options
β”‚   β”‚   └── pack.lua               custom packer wrapper
β”‚   β”œβ”€β”€ keymap/                    plugin-related keymaps
β”‚   β”œβ”€β”€ modules/                   plugin-configs
β”‚   β”‚   β”œβ”€β”€ completion/            nvim-cmp + LSP
β”‚   β”‚   β”‚   β”œβ”€β”€ plugins.lua
β”‚   β”‚   β”‚   └── server-settings/   settings for each LSP
β”‚   β”‚   β”œβ”€β”€ editor/
β”‚   β”‚   β”‚   └── plugins.lua
β”‚   β”‚   β”œβ”€β”€ lang
β”‚   β”‚   β”‚   └── plugins.lua
β”‚   β”‚   β”œβ”€β”€ tools/
β”‚   β”‚   β”‚   β”œβ”€β”€ dap/               DAP settings for each language
β”‚   β”‚   β”‚   └── plugins.lua
β”‚   β”‚   └── ui/
β”‚   β”‚       └── plugins.lua
β”‚   └── utils                      utility functions
β”‚       └── init.lua
β”œβ”€β”€ snippets/
β”‚   └── package.json               how `LuaSnip` reads snippets, vscode-style
β”œβ”€β”€ spell/                         custom spelling correction
└── stylua.toml                    stylua settings

NOTE: You can rename/create folders inside modules, but ALWAYS remember to add a plugins.lua in it to register your plugins.

βš™οΈ Configuration & Usage

🎩 Suit up

Follow Wiki: Prerequisite and get yourself a cup of coffee β˜•


πŸ§‘β€πŸ³ Cook it

Follow Wiki: Usage to spice it into your own flavor (WIP)


πŸ› οΈ Toolbox

Lists of Wiki: Installed Plugins (WIP)


πŸ€” FAQ

Refer to Wiki: FAQ (WIP)


⏱️ Startup Time

Tested with dstein64/vim-startuptime plugin.

Tested with rhysd/vim-startuptime, a CLI tool written in Go.

πŸ“Έ Script Screenshots

πŸͺ¨ Materials

Docs

YouTube channels

Awesomes

Trendy neovim news

πŸŽ‰ Acknowledgment

Open Source Agenda is not affiliated with "Nvimdots.lua" Project. README Source: CharlesChiuGit/nvimdots.lua

Open Source Agenda Badge

Open Source Agenda Rating