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.
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! 😺