Here is my Neovim configuration. If you find it helpful, please giving me a star β.
Warning
I used to rely on packer.nvim for this config, but now I prefer using lazy.nvim as my plugin manager because it has a faster startup speed and is more efficient. This branch will no longer be updated, you can find the latest config in the *lazy branch.
- ποΈ Screenshots
- π File Structure
- β‘οΈ Requirements
- π οΈ Installation
- β¨ Features
- β¨οΈ Keymaps
- π Wiki
The files under config will be automatically loaded at the appropriate time, so you don't need to require those files manually.
~/.config/nvim/
βββ init.lua # import neovim modules
βββ after/plugin # plugin configs
β βββ alpha.rc.lua
β βββ autopairs.rc.lua
β βββ ...
βββ lua # core neovim configs
β βββ colorscheme.lua
β βββ highlights.lua
β βββ keymaps.lua
β βββ options.lua
β βββ plugins.lua
β βββ utils.lua
βββ res # user modified files
β βββ battery
β βββ vim-airline
β βββ ...
βββ snippets # code snippets
βββ friendly-snippets
-
Neovim: Neovim >= 0.8.0 (needs to be built with LuaJIT).
-
Git: Git >= 2.19.0 (for partial clones support).
-
Packer.nvim: A use-package inspired plugin manager for Neovim.
-
Nerd Fonts: Iconic font aggregator, collection, and patcher.
-
Python integration: To use python remote-plugins with Neovim.
python3 -m pip install --user pynvim python3 -m pip install --user neovim
-
Node.js integration: To use javascript remote-plugins with Neovim.
npm install -g neovim
Note
After you have installed all requirements, you can relaunch Neovim and type
:checkhealth
to see if your Neovim system is up-to-date.
- Btop: A monitor of resources.
- Lazygit: Simple terminal UI for git commands.
- Ranger: A VIM-inspired filemanager for the console.
- Ripgrep: A line-oriented search tool.
-
Make a backup of your current Neovim files:
# required mv ~/.config/nvim ~/.config/nvim.bak # optional but recommended mv ~/.local/share/nvim ~/.local/share/nvim.bak mv ~/.local/state/nvim ~/.local/state/nvim.bak mv ~/.cache/nvim ~/.cache/nvim.bak
-
Clone the repo:
git clone https://github.com/cxzhou35/Awesome-neovim.git ~/.config/nvim # remove git folder rm -rf ~/.config/nvim/.git
-
Install Plugins: Relaunch Neovim and type
:PackerInstall
to install all plugins. -
Install LSP Server: Relaunch Neovim and type
:LspInstall [server]
to install corresponding LSP server.To learn more about LSP servers, you can click here.
-
Install Treesitter: Relaunch Neovim and type
:TSInstall [language]
to install corresponding Treesitter supported-language.To learn more about Treesitter supported-languages, you can click here.
-
Start Neovim!
- Transform your Neovim into a full-fledged IDE
- Easily customize and extend your config by yourself
- Blazingly fast
- Sane default settings for options, autocmds, and keymaps
- Comes with a wealth of plugins pre-configured and ready to use
π TODO
π TODO
Suggestions are always welcome! If you meet some problems, please contact Zicx or raise an issue.
Neovim is worth a try! πΊ