/nvimrc

neovim configuration. :cherry_blossom:

Primary LanguageLuaApache License 2.0Apache-2.0

My Neovim Configuration

Neovim Build Platform Release License

nvim

nvim

Features

  • 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.

nvim

(Tested with rhysd/vim-startuptime)

Requirements

  • Neovim >= 0.10.0 (needs to be built with LuaJIT)
  • Git >= 2.19.0 (for partial clones support)
  • a Nerd Font

Getting Started

If you have Docker on your system you can try out this config via docker

Just start nvim

docker run -it --rm liubang/nvim

Mount a local directory and start nvim

docker run -it --rm -v $(pwd):/home/neovim/workspace liubang/nvim

Keymaps

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>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

Plugins