Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

CharlesChiuGit/nvimdots.lua

Repository files navigation

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

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /