NpVim is a ready-to-use neovim config build on top of lazyvim.
- 🔥 Transform your Neovim into a full-fledged IDE
- đź’¤ Easily customize and extend your config with lazy.nvim
- 🚀 Blazingly fast
- 🧹 Sane default settings for options, autocmds, and keymaps
- 📦 Comes with a wealth of plugins pre-configured and ready to use
- 🤖 Ai Code Completition with Tabnine
- 👨‍💻 Preconfigured with Typescript, TSX, React, Emmet, markdown preview, eslint, prettier, etc.
- Neovim >= 0.8.0 (needs to be built with LuaJIT)
- Git >= 2.19.0 (for partial clones support)
- a Nerd Font (optional)
- lazygit (optional)
- for telescope.nvim (optional)
- live grep: ripgrep
- find files: fd
- a terminal that support true color and undercurl:
- kitty (Linux & Macos)
- wezterm (Linux, Macos & Windows)
- alacritty (Linux, Macos & Windows)
- iterm2 (Macos)
Linux/ MacOS
-
Backup pervious configs.
# 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/gauravfs-14/NpVim ~/.config/nvim
-
Start neovim
nvim
Windows
-
Make a backup of your current Neovim files:
# required Move-Item $env:LOCALAPPDATA\nvim $env:LOCALAPPDATA\nvim.bak # optional but recommended Move-Item $env:LOCALAPPDATA\nvim-data $env:LOCALAPPDATA\nvim-data.bak
-
Clone the repo
git clone https://github.com/gauravfs-14/NpVim $env:LOCALAPPDATA\nvim
-
Start neovim
nvim
Key | Description | Mode |
---|---|---|
<C-h> |
Go to left window | n |
<C-j> |
Go to lower window | n |
<C-k> |
Go to upper window | n |
<C-l> |
Go to right window | 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 |
<A-j> |
Move down | n, i, v |
<A-k> |
Move up | n, i, v |
<S-h> |
Prev buffer | n |
<S-l> |
Next buffer | n |
[b |
Prev buffer | n |
]b |
Next buffer | n |
<leader>bb |
Switch to Other Buffer | n |
<leader>` |
Switch to Other Buffer | n |
<esc> |
Escape and clear hlsearch | i, n |
<leader>ur |
Redraw / clear hlsearch / diff update | n |
gw |
Search word under cursor | n, x |
n |
Next search result | n, x, o |
N |
Prev search result | n, x, o |
<C-s> |
Save file | i, v, n, s |
<leader>l |
Lazy | n |
<leader>fn |
New File | n |
<leader>xl |
Location List | n |
<leader>xq |
Quickfix List | n |
<leader>uf |
Toggle format on Save | n |
<leader>us |
Toggle Spelling | n |
<leader>uw |
Toggle Word Wrap | n |
<leader>ul |
Toggle Line Numbers | n |
<leader>ud |
Toggle Diagnostics | n |
<leader>uc |
Toggle Conceal | n |
<leader>gg |
Lazygit (root dir) | n |
<leader>gG |
Lazygit (cwd) | n |
<leader>qq |
Quit all | n |
<leader>ui |
Inspect Pos | n |
<leader>ft |
Terminal (root dir) | n |
<leader>fT |
Terminal (cwd) | n |
<esc><esc> |
Enter Normal Mode | t |
<leader>ww |
Other window | n |
<leader>wd |
Delete window | n |
<leader>w- |
Split window below | n |
<leader>w| |
Split window right | n |
<leader>- |
Split window below | n |
<leader>| |
Split window right | n |
<leader><tab>l |
Last Tab | n |
<leader><tab>f |
First Tab | n |
<leader><tab><tab> |
New Tab | n |
<leader><tab>] |
Next Tab | n |
<leader><tab>d |
Close Tab | n |
<leader><tab>[ |
Previous Tab | n |
Key | Description | Mode |
---|---|---|
<leader>cd |
Line Diagnostics | n |
<leader>cl |
Lsp Info | n |
gd |
Goto Definition | n |
gr |
References | n |
gD |
Goto Declaration | n |
gI |
Goto Implementation | n |
gy |
Goto T[y]pe Definition | n |
K |
Hover | n |
gK |
Signature Help | n |
<c-k> |
Signature Help | i |
]d |
Next Diagnostic | n |
[d |
Prev Diagnostic | n |
]e |
Next Error | n |
[e |
Prev Error | n |
]w |
Next Warning | n |
[w |
Prev Warning | n |
<leader>cf |
Format Document | n |
<leader>cf |
Format Range | v |
<leader>ca |
Code Action | n, v |
<leader>cA |
Source Action | n |
<leader>cr |
Rename | n |
Key | Description | Mode |
---|---|---|
<leader>bp |
Toggle pin | n |
<leader>bP |
Delete non-pinned buffers | n |
Key | Description | Mode |
---|---|---|
f |
f | n, x, o |
F |
F | n, x, o |
t |
t | n, x, o |
T |
T | n, x, o |
Key | Description | Mode |
---|---|---|
s |
Leap forward to | n, x, o |
S |
Leap backward to | n, x, o |
gs |
Leap from windows | n, x, o |
Key | Description | Mode |
---|---|---|
<leader>cm |
Mason | n |
Key | Description | Mode |
---|---|---|
<leader>bd |
Delete Buffer | n |
<leader>bD |
Delete Buffer (Force) | n |
Key | Description | Mode |
---|---|---|
gza |
Add surrounding | n, v |
gzd |
Delete surrounding | n |
gzf |
Find right surrounding | n |
gzF |
Find left surrounding | n |
gzh |
Highlight surrounding | n |
gzr |
Replace surrounding | n |
gzn |
Update MiniSurround.config.n_lines |
n |
Key | Description | Mode |
---|---|---|
<leader>fe |
Explorer NeoTree (root dir) | n |
<leader>fE |
Explorer NeoTree (cwd) | n |
<leader>e |
Explorer NeoTree (root dir) | n |
<leader>E |
Explorer NeoTree (cwd) | n |
Key | Description | Mode |
---|---|---|
<S-Enter> |
Redirect Cmdline | c |
<leader>snl |
Noice Last Message | n |
<leader>snh |
Noice History | n |
<leader>sna |
Noice All | n |
<leader>snd |
Dismiss All | n |
<c-f> |
Scroll forward | i, n, s |
<c-b> |
Scroll backward | i, n, s |
Key | Description | Mode |
---|---|---|
<leader>un |
Delete all Notifications | n |
Key | Description | Mode |
---|---|---|
<leader>sr |
Replace in files (Spectre) | n |
Key | Description | Mode |
---|---|---|
<c-space> |
Increment selection | n |
<bs> |
Decrement selection | x |
Key | Description | Mode |
---|---|---|
<leader>qs |
Restore Session | n |
<leader>ql |
Restore Last Session | n |
<leader>qd |
Don't Save Current Session | n |
Key | Description | Mode |
---|---|---|
<leader>, |
Switch Buffer | n |
<leader>/ |
Grep (root dir) | n |
<leader>: |
Command History | n |
<leader><space> |
Find Files (root dir) | n |
<leader>fb |
Buffers | n |
<leader>ff |
Find Files (root dir) | n |
<leader>fF |
Find Files (cwd) | n |
<leader>fr |
Recent | n |
<leader>fR |
Recent (cwd) | n |
<leader>gc |
commits | n |
<leader>gs |
status | n |
<leader>sa |
Auto Commands | n |
<leader>sb |
Buffer | n |
<leader>sc |
Command History | n |
<leader>sC |
Commands | n |
<leader>sd |
Document diagnostics | n |
<leader>sD |
Workspace diagnostics | n |
<leader>sg |
Grep (root dir) | n |
<leader>sG |
Grep (cwd) | n |
<leader>sh |
Help Pages | n |
<leader>sH |
Search Highlight Groups | n |
<leader>sk |
Key Maps | n |
<leader>sM |
Man Pages | n |
<leader>sm |
Jump to Mark | n |
<leader>so |
Options | n |
<leader>sR |
Resume | n |
<leader>sw |
Word (root dir) | n |
<leader>sW |
Word (cwd) | n |
<leader>uC |
Colorscheme with preview | n |
<leader>ss |
Goto Symbol | n |
<leader>sS |
Goto Symbol (Workspace) | n |
Key | Description | Mode |
---|---|---|
]t |
Next todo comment | n |
[t |
Previous todo comment | n |
<leader>xt |
Todo (Trouble) | n |
<leader>xT |
Todo/Fix/Fixme (Trouble) | n |
<leader>st |
Todo | n |
<leader>sT |
Todo/Fix/Fixme | n |
Key | Description | Mode |
---|---|---|
<leader>xx |
Document Diagnostics (Trouble) | n |
<leader>xX |
Workspace Diagnostics (Trouble) | n |
<leader>xL |
Location List (Trouble) | n |
<leader>xQ |
Quickfix List (Trouble) | n |
[q |
Previous trouble/quickfix item | n |
]q |
Next trouble/quickfix item | n |
Key | Description | Mode |
---|---|---|
]] |
Next Reference | n |
[[ |
Prev Reference | n |
Part of lazyvim.plugins.extras.dap.core
Key | Description | Mode |
---|---|---|
<leader>dB |
Breakpoint Condition | n |
<leader>db |
Toggle Breakpoint | n |
<leader>dc |
Continue | n |
<leader>dC |
Run to Cursor | n |
<leader>dg |
Go to line (no execute) | n |
<leader>di |
Step Into | n |
<leader>dj |
Down | n |
<leader>dk |
Up | n |
<leader>dl |
Run Last | n |
<leader>do |
Step Out | n |
<leader>dO |
Step Over | n |
<leader>dp |
Pause | n |
<leader>dr |
Toggle REPL | n |
<leader>ds |
Session | n |
<leader>dt |
Terminate | n |
<leader>dw |
Widgets | n |
Part of lazyvim.plugins.extras.dap.core
Key | Description | Mode |
---|---|---|
<leader>du |
Dap UI | n |
<leader>de |
Eval | n, v |
Part of lazyvim.plugins.extras.dap.nlua
Key | Description | Mode |
---|---|---|
<leader>daL |
Adapter Lua Server | n |
<leader>dal |
Adapter Lua | n |
Part of lazyvim.plugins.extras.util.project
Key | Description | Mode |
---|---|---|
<leader>fp |
Projects | n |
Key | Description | Mode |
---|---|---|
<C-y> |
Accept Tabnine Suggestion | i |
key | Description | Mode |
---|---|---|
<leader>tf |
Floating Terminal | n |
<leader>tb |
Horizontal Terminal | n |
<leader>tl |
Vertical Terminal | n |
- :ServeHTML --> Serve HTML with live-server node package.
Requirement:
npm -g install live-server
More on lazyvim.org