A lightweight and mordern neovim configuration for my personal usage.
![image](https://private-user-images.githubusercontent.com/8613196/256857863-26a60b9a-caa6-41e2-ab26-9695de968df4.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzNTI1NDUsIm5iZiI6MTczOTM1MjI0NSwicGF0aCI6Ii84NjEzMTk2LzI1Njg1Nzg2My0yNmE2MGI5YS1jYWE2LTQxZTItYWIyNi05Njk1ZGU5NjhkZjQucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDIxMiUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTAyMTJUMDkyNDA1WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9Y2FlODFkYWJmODNmNjk2OWZlYWI4ZDRmZTFiY2E0MTY5NTRiZWMzMDg5NWFmY2NjYTEwNjk3NDJmZDhlNDhlNyZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.Pmpd8BTAieb2YTYzhw0vAlyLGjGdccJZKaECDboZuT4)
- Neovim >= 0.8.0 (needs to be built with LuaJIT)
- Git >= 2.19.0 (for partial clones support)
- Nerd Font (for statusline or file explorer plugins icons)
git clone https://github.com/zhaohongxuan/nvim ~/.config/nvim --depth 1
~/.config/nvim (main*) » tree xuan@xuans
.
├── README.md
├── init.lua
├── lazy-lock.json
└── lua
├── core
│ ├── autocmds.lua
│ ├── keymaps.lua
│ └── options.lua
└── plugins
├── configs
│ ├── alpha-nvim.lua
│ ├── autopairs.lua
│ ├── bufferline.lua
│ ├── catppuccin.lua
│ ├── cmp.lua
│ ├── comment.lua
│ ├── gitsigns.lua
│ ├── hop.lua
│ ├── lsp.lua
│ ├── lualine.lua
│ ├── nvim-tree.lua
│ ├── telescope.lua
│ └── treesitter.lua
└── init.lua
5 directories, 20 files
- the
init.lua
is the entrance of the nvim configuration - the
plugins-setup.lua
contains all plugins init - the
keymaps.lua
contains all keymap
- Neovim Theme schema via tokyonight
- Plugin management via Lazy.nvim.
- Code completion via nvim-cmp.
- Auto pair via nvim-autopairs
- Language server protocol (LSP) support via nvim-lspconfig.
- Git integration via vim-signs.
- Fuzzy searching via Telescope.
- Snazzy buffer line via bufferline
- Code commenting via vim-commentary.
- Smarter and faster matching pair management (add, replace or delete) via vim-sandwich.
- Fast buffer jump via hop.nvim.
- Toggle terminal during edit session via toggleterm
- Beautiful statusline via lualine.nvim.
- File tree explorer via nvim-tree.lua.
- Code highlighting via nvim-treesitter.
TBD
- Performance
![image](https://private-user-images.githubusercontent.com/8613196/256863915-0af80d8e-668a-4fc2-accf-9aa36e5c4a8a.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzNTI1NDUsIm5iZiI6MTczOTM1MjI0NSwicGF0aCI6Ii84NjEzMTk2LzI1Njg2MzkxNS0wYWY4MGQ4ZS02NjhhLTRmYzItYWNjZi05YWEzNmU1YzRhOGEucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDIxMiUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTAyMTJUMDkyNDA1WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9YzRiNGZhNGJlN2NmYWZhNzRiZTNjMzBmNDQ1MjE3MmRmYTM5NjExN2U4NzFmNWQxMmFhZTkyMmY3YWJiOGI1ZCZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.fLSq7DgUtyL5oeGsQvvSmwDcSwfIQWiJhEDNiAYqePE)
![image](https://private-user-images.githubusercontent.com/8613196/256861808-2763f951-1a9b-4d6a-9bf2-f1b36e233093.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzNTI1NDUsIm5iZiI6MTczOTM1MjI0NSwicGF0aCI6Ii84NjEzMTk2LzI1Njg2MTgwOC0yNzYzZjk1MS0xYTliLTRkNmEtOWJmMi1mMWIzNmUyMzMwOTMucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDIxMiUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTAyMTJUMDkyNDA1WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9Mzg2MzZhZGZmNjg2ODZiZmI1ODljZjhlYWUzYWJiYWQ2Nzk3NzAxODhjMzlkMDY4MDZhODhhNmYxZmFlNDBhOCZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.WTOGhDUmUTb9NtXye2P2KAE6zWzp6MJWnenhZGX9pv4)