- Fast. Less than 30ms to start (Depends on SSD and CPU, tested on Intel NUC11BTMi9).
- Simple. Run out of the box.
- Modern. Pure lua to config.
- Powerful. Full functionality to code.
(Tested with rhysd/vim-startuptime)
- Neovim >= 0.10.1 (needs to be built with LuaJIT)
- Git >= 2.19.0 (for partial clones support)
- a Nerd Font
If you have Docker on your system you can try out this config via docker
docker run -it --rm liubang/nvim
docker run -it --rm -v $(pwd):/home/neovim/workspace liubang/nvim
Key | Description | Mode |
---|---|---|
n |
Next search result | n, x, o |
N |
Prev search result | n, x, o |
<S-j> |
Move lines down | n, x |
<S-k> |
Move lines up | n, x |
<Esc><Esc> |
Clear hlsearch | n |
/ |
Search in visually selected region | x |
< |
Keep the visually selected area when indenting | x |
> |
Keep the visually selected area when indenting | x |
p |
Rreplace visually selected with the " contents | x |
<Leader>bp |
Previous | n |
<Leader>bn |
Next | n |
<Leader>bf |
First | n |
<Leader>bl |
Last | n |
<Leader>ww |
Toggle between open windows | n |
<leader>wd |
Delete window | n |
<Leader>wh |
Move to the left window | n |
<Leader>wl |
Move to the right window | n |
<Leader>wj |
Move to the bottom window | n |
<Leader>wk |
Move to the top window | n |
<Leader>ws |
Split window horizontally | n |
<Leader>wv |
Split window vertically | n |
<C-Up> |
Increase window height | n |
<C-Down> |
Decrease window height | n |
<C-Left> |
Decrease window width | n |
<C-Right> |
Increase window width | n |
j |
accelerated-jk.nvim Accelerated gj movement | n |
k |
accelerated-jk.nvim Accelerated gk movement | n |
<Leader>tl |
aerial.nvim Open or close the aerial window | n |
<C-b> |
asynctasks.vim Build current file | n |
<C-r> |
asynctasks.vim Run current file | n |
<C-x> |
asynctasks.vim Build and run current file | n |
<Leader>1 |
bufferline.nvim Goto the 1th visible buffer | n |
<Leader>2 |
bufferline.nvim Goto the 2th visible buffer | n |
<Leader>3 |
bufferline.nvim Goto the 3th visible buffer | n |
<Leader>4 |
bufferline.nvim Goto the 4th visible buffer | n |
<Leader>5 |
bufferline.nvim Goto the 5th visible buffer | n |
<Leader>6 |
bufferline.nvim Goto the 6th visible buffer | n |
<Leader>7 |
bufferline.nvim Goto the 7th visible buffer | n |
<Leader>8 |
bufferline.nvim Goto the 8th visible buffer | n |
<Leader>9 |
bufferline.nvim Goto the 9th visible buffer | n |
<leader>bo |
bufferline.nvim Delete other buffers | n |
gc |
Comment.nvim Toggle line comment | n, x |
gb |
Comment.nvim Toggle block comment | n, x |
gcc |
Comment.nvim Toggle line comment | n |
gcb |
Comment.nvim Toggle block comment | n |
<leader>df |
diffview.nvim File history | n |
<leader>dv |
diffview.nvim Diff view | n |
s |
flash.nvim Flash | n, x, o |
S |
flash.nvim Flash Treesitter | n, x, o |
r |
flash.nvim Remote Flash | o |
R |
flash.nvim Treesitter Search | o, x |
<Leader>hb |
gitsigns.nvim Show the line git blame in a floating window | n |
<Leader>hd |
gitsigns.nvim Perform a vimdiff on the given file |
n |
<Leader>hr |
gitsigns.nvim Reset the lines of the hunk at the cursor position | n |
<Leader>hs |
gitsigns.nvim Stage the hunk at the cursor position | n |
<Leader>mp |
markdown-preview.nvim Markdown Preview | n |
<leader>bd |
mini.bufremove Delete Buffer | n |
<leader>bD |
mini.bufremove Delete Buffer (Force) | n |
<leader>mf |
mini.files Open mini.files (Directory of Current File) | n |
<leader>mF |
mini.files Open mini.files (cwd) | n |
<leader>dB |
nvim-dap Breakpoint Condition | n |
<leader>db |
nvim-dap Toggle Breakpoint | n |
<leader>dc |
nvim-dap Continue | n |
<leader>da |
nvim-dap Run with Args | n |
<leader>dC |
nvim-dap Run to Cursor | n |
<leader>dl |
nvim-dap Run Last | n |
<leader>di |
nvim-dap Step Into | n |
<leader>do |
nvim-dap Step Out | n |
<leader>dO |
nvim-dap Step Over | n |
<leader>dp |
nvim-dap Pause | n |
<leader>dt |
nvim-dap Terminate | n |
<leader>dj |
nvim-dap Down | n |
<leader>dk |
nvim-dap Up | n |
<leader>dg |
nvim-dap Go to Line (No Execute) | n |
<leader>ds |
nvim-dap Session | n |
<leader>dr |
nvim-dap Toggle REPL | n |
<leader>dw |
nvim-dap Widgets | n |
<leader>du |
nvim-dap-ui Dap UI | n |
<leader>de |
nvim-dap-ui Eval | n, v |
<leader>sr |
nvim-spectre Replace in files (Spectre) | n |
<leader>ft |
nvim-tree.lua Explorer NvimTree (cwd) | n |
<Leader>ff |
telescope.nvim List files | n |
<Leader>rf |
telescope.nvim List recent files | n |
<Leader>ag |
telescope.nvim Grep in files | n |
<Leader>Ag |
telescope.nvim Searches for the string under your cursor (root dir) | n |
<Leader>bb |
telescope.nvim Lists open buffers in current neovim instance | n |
<Leader>ts |
telescope.nvim Lists AsyncTasks for current buffer | n |
<Leader>br |
telescope.nvim Bazl run | n |
<Leader>bt |
telescope.nvim Bazel test | n |
<Leader>bs |
telescope.nvim Bazel build | n |
<leader>vv |
venn.nvim Toggle venn | n |
<C-t> |
vim-floaterm Toggle floaterm | n, t |
<C-n> |
vim-floaterm Create a new floaterm window | t |
<C-k> |
vim-floaterm Goto previous floaterm window | t |
<C-j> |
vim-floaterm Goto next floaterm window | t |
<C-d> |
vim-floaterm Kill floaterm | t |
]] |
vim-illuminate Next Reference | n |
[[ |
vim-illuminate Prev Reference | n |
- accelerated-jk.nvim
- aerial.nvim
- alpha-nvim
- asyncrun.vim
- asynctasks.vim
- bufferline.nvim
- clangd_extensions.nvim
- cmp-buffer
- cmp-calc
- cmp-nvim-lsp
- cmp-path
- cmp_luasnip
- Comment.nvim
- crates.nvim
- diffview.nvim
- fidget.nvim
- flash.nvim
- friendly-snippets
- fzy-lua-native
- gitsigns.nvim
- gruvbox-material
- lazy.nvim
- lua-async-await
- lualine.nvim
- LuaSnip
- markdown-preview.nvim
- mason-lspconfig.nvim
- mason.nvim
- mini.align
- mini.bufremove
- mini.files
- mini.surround
- neodev.nvim
- neogen
- none-ls.nvim
- nui.nvim
- nvim-autopairs
- nvim-cmp
- nvim-dap
- nvim-dap-go
- nvim-dap-ui
- nvim-dap-virtual-text
- nvim-java
- nvim-java-core
- nvim-java-dap
- nvim-java-refactor
- nvim-java-test
- nvim-lspconfig
- nvim-navic
- nvim-nio
- nvim-spectre
- nvim-tree.lua
- nvim-treesitter
- nvim-web-devicons
- plenary.nvim
- rust-tools.nvim
- schemastore.nvim
- smartyank.nvim
- spring-boot.nvim
- telescope-fzf-native.nvim
- telescope-live-grep-args.nvim
- telescope-ui-select.nvim
- telescope-undo.nvim
- telescope.nvim
- tla.nvim
- venn.nvim
- vim-caser
- vim-diagon
- vim-floaterm
- vim-illuminate
- vim-matchup
- vim-startuptime
- wilder.nvim