Awesome
<h1 align="center"> Neovim Config <br> <a href="https://www.lua.org/"> <img alt="Lua" src="https://img.shields.io/badge/lua-%232C2D72.svg?style=for-the-badge&logo=lua&logoColor=white"> </a> <a href="https://github.com/neovim/neovim"> <img alt="Neovim" src="https://img.shields.io/badge/NeoVim-%2357A143.svg?&style=for-the-badge&logo=neovim&logoColor=white"> </a> </h1> <p align="center"> <a href="https://github.com/CharlesChiuGit/nvimdots/stargazers"> <img alt="Stars" src="https://img.shields.io/github/stars/CharlesChiuGit/nvimdots?colorA=363A4F&colorB=B7BDF8&logo=adafruit&logoColor=D9E0EE&style=for-the-badge"> </a> <a href="https://github.com/CharlesChiuGit/nvimdots/issues"> <img alt="Issues" src="https://img.shields.io/github/issues-raw/CharlesChiuGit/nvimdots?colorA=363A4f&colorB=F5A97F&logo=github&logoColor=D9E0EE&style=for-the-badge"> </a> <a href="https://github.com/CharlesChiuGit/nvimdots/contributors"> <img alt="Contributors" src="https://img.shields.io/github/contributors/CharlesChiuGit/nvimdots?colorA=363A4F&colorB=B5E8E0&logo=git&logoColor=D9E0EE&style=for-the-badge"> </a> <img alt="Code size" src="https://img.shields.io/github/languages/code-size/CharlesChiuGit/nvimdots?colorA=363A4F&colorB=DDB6F2&logo=gitlfs&logoColor=D9E0EE&style=for-the-badge"> </p> <p align="center"> <img src="https://user-images.githubusercontent.com/32497323/217737320-786f9135-f71f-4cec-8322-f6da719c97fd.png" width = "90%" /> </p> <div align="center"> <h6> R.I.P. Kentaro Miura sensei π₯ </h6> </div>π 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
<h3 align="center"> π© Suit up </h3> <p align="center"> <p align="center">Follow <a href="https://github.com/CharlesChiuGit/nvimdots/wiki/Prerequisite" rel="nofollow">Wiki: Prerequisite</a> and get yourself a cup of coffee β</p> <br> <h3 align="center"> π§βπ³ Cook it </h3> <p align="center">Follow <a href="https://github.com/CharlesChiuGit/nvimdots/wiki/Usage" rel="nofollow">Wiki: Usage</a> to spice it into your own flavor (WIP)</p> <br> <h3 align="center"> π οΈ Toolbox </h3> <p align="center">Lists of <a href="https://github.com/CharlesChiuGit/nvimdots/wiki/Plugins" rel="nofollow">Wiki: Installed Plugins (WIP)</a></p> <br> <h3 align="center"> π€ FAQ </h3> <p align="center">Refer to <a href="https://github.com/CharlesChiuGit/nvimdots/wiki/FAQ" rel="nofollow">Wiki: FAQ (WIP)</a></p> <br> <h3 align="center"> β±οΈ Startup Time </h3> <p align="center"> <img src="https://raw.githubusercontent.com/CharlesChiuGit/nvimdots/main/.github/images/startuptime.png" width = "70%" /> </p>Tested with dstein64/vim-startuptime plugin.
<p align="center"> <img src="https://raw.githubusercontent.com/CharlesChiuGit/nvimdots/main/.github/images/vim-startup.png" width = "60%" /> </p>Tested with rhysd/vim-startuptime, a CLI tool written in Go
.
πͺ¨ Materials
Docs
- Lua docs
- neovim/options
- neovim/lua-api
- neovim Wiki
- Learn vim/neovim
- alpha2phi/Neovim for Beginners, Neovim 101
- Vim Tips Wiki
- Vim Cheat Sheet
- Learn Vimscript the Hard Way
- Learn Vim the Simple Way, a web game to learn vim motions
- vim-adventures, another web game to learn vim.
- BooleanCube/NeovimKeys, offline vim motion game
- ThePrimeagen/vim-be-good, a plugin by ThePrimeagen
- ThePrimeagen/2-simple-steps, another vimtutor by ThePrimeagen
- vimcdoc, a vim doc in Chinese, could be a plugin, a program or a webpage
YouTube channels
- ThePrimeagen/Vim As Your Editor, BLAZINGLY FAST alpha vimfluencer
- TJ DeVries, neovim core team
Awesomes
- neovimcraft
- LibHunt/neovim
- rockerBOO/awesome-neovim
- How I Vim
- nvim.sh, neovim plugin search from the terminal
- Neoland, a collection of plugins, themes and other resources for Neovim.
Trendy neovim news
- This Week In Neovim, aka TWiN,
highly recommended, Archived - This Week In Neovim, hosted by dotfly.com
- Reddit/neovim
- Twitter/neovim
- Neovim Official News, not so up-to-date