modern-neovim-configuration
modern-neovim-configuration copied to clipboard
Modern configuration for neovim.
Modern Neovim Configuration
Neovim + Linux = Best Almighty IDE
This configuration is for linux only.
Mainly Supported Language/Framework List
- Rust
- Javascript/Typescript
- Shell
- SQL
- Lua
- GLSL
- WGSL
- Vue
- React
- Flutter
To support a new one, check these.
- treesitter
- lsp
- dap
- formatter
- snippet
Personal Environment
OS: Gentoo
Terminal: Alacritty
Neovim: V0.10+
Dependencies
-
nodejs
,go
,rust
(required formason.nvim
andnvim-treesitter
). Use:h mason-requirements
to check more dependencies. -
rg
,fd
command (required fortelescope.nvim
) -
trashy
command (required fornvim-tree.lua
) -
fcitx5
(required forfcitx.nvim
) -
deeplx
(required fortranslate.nvim
) -
cargo-nextest
(required forneotest-rust.nvim
) -
@vue/typescript-plugin
(required for vue project) -
dolphin
(required fornvim-tree.lua
) -
flutter-sdk
(required for flutter project)
QuickStart
Installation
-
Install all dependencies.
-
git clone https://github.com/niuiic/modern-neovim-configuration ~/.config/nvim
-
Open neovim and then all plugins would be installed automatically.
-
Install lsps, formatters, linters, debuggers with
mason.nvim
. Checklua/plugin/mason.lua
for details. -
Check if something is missing with
:checkhealth
. -
Look for specific functions in
lua/plugins.lua
.
Keymap
which-key.nvim
will tell you. Check lua/plugin/*
and lua/keymap.lua
for details.
leader:
\
localLeader:
<space>
LSP
Create lspname.lua
in lua/lsp
.
Update lsp_list
in lua/lsp/init.lua
.
Remap lsp commands with lsp-utils.nvim
in lua/plugin/lsp-utils.lua
.
Formatter
Use your favorite formatters with niuiic/format.nvim.
DAP
Create dapname.lua
in lua/debugger
.
Update debugger_list
in lua/debugger/init.lua
.
Custom Snippets
Create filetype.lua
in lua/snippet
.
Update lang_list
in lua/snippet/init.lua
.
Snippet examples and snippet document may help you.
Config for Workspace
The root path of a workspace is where .git
located. $rootPath/.nvim/init.lua
is the entry of the local configuration.
Showcase
Some functions are not convenient to display with pictures, please check lua/plugins.lua
.
Status Line

Buffer Line

Diagnostic

Fuzzy Finder
Search files, tags, buffers, history files, marks, projects, git status, etc.
AutoComplete CMD

Rename

Go to Reference

Keymap Suggestion

Code AutoComplete

Inner Terminal

Todo Comments

File Tree

Undo Tree

Translate

Unit Test

Tasks

Indentation Guides

Code Action

Colorful Brackets

Debug

Git Diff

Git Signs

Document

Quick Motion

Lsp Progress

Fold

Colorizer

Color Picker

Session

Quickfix

Startup Time

Lazygit

Jump to Marks

Pick Window

Divider
