Skip to content

gauravfs-14/NpVim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NpVim

NpVim is a ready-to-use neovim config build on top of lazyvim.

home_screenshot

code_example

splits

✨ Features

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

⚡️ Requirements

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

🛠️ Installation

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
    

⌨️ Keymaps

General

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

LSP

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

Tabnine

Key Description Mode
<C-y> Accept Tabnine Suggestion i

ToggleTerm

key Description Mode
<leader>tf Floating Terminal n
<leader>tb Horizontal Terminal n
<leader>tl Vertical Terminal n

Custom Commands

  • :ServeHTML --> Serve HTML with live-server node package. Requirement: npm -g install live-server

More on lazyvim.org