Skip to content

Repository files navigation

Neovim Config

Neovim setup for fullstack work, Python practice, and Nx monorepos.

Install

git clone https://github.com/sonuKumar03/nvim-config.git ~/.config/nvim
nvim

If you already have a local config:

mv ~/.config/nvim ~/.config/nvim.backup
git clone https://github.com/sonuKumar03/nvim-config.git ~/.config/nvim
nvim

Requirements

  • Neovim 0.12+
  • git
  • rg
  • fd
  • node
  • python3
  • go

Cheatsheets

Need help remembering keys? Check out these detailed references:

Daily Workflow

Start Here

  • <leader>? shows keymaps with which-key
  • <leader>ff finds files
  • <leader>fg searches text across the project
  • <leader>e opens Neo-tree at the project root
  • <leader>E opens Neo-tree at the current directory
  • <leader>co toggles the dedicated code outline sidebar (Aerial)

Editing & Commenting

  • gcc comments or uncomments the current line
  • gbc block comments the current line
  • gc (in Visual mode) comments or uncomments the selection
  • gb (in Visual mode) block comments the selection

Files and Buffers

  • <leader>bn creates a new buffer
  • <leader>bh and <leader>bl move to previous/next buffers
  • <leader>bc closes the current buffer
  • <leader>be opens the Neo-tree buffers view
  • native tabpage keymaps are not part of this config

Git

  • <leader>gg opens LazyGit
  • <leader>gv opens Diffview
  • <leader>gC closes Diffview
  • <leader>gF opens file history
  • <leader>gH opens current-file history
  • <leader>gb toggles inline current-line Git blame
  • gitsigns handles hunk staging, reset, preview, blame, and navigation

Search and Replace

  • <leader>sr opens Spectre for project-wide replace
  • <leader>sR opens Spectre for current-file replace
  • <leader>sw opens Spectre for a visual selection
  • <leader>sA applies the replacement
  • <leader>sl resumes the last Spectre search

Diagnostics

  • <leader>xx opens workspace diagnostics
  • <leader>xX opens buffer diagnostics
  • <leader>xe and <leader>xE filter to errors
  • <leader>xq opens quickfix
  • <leader>xl opens location list
  • <leader>xs opens symbols
  • <leader>xr opens references
  • <leader>xd opens definitions

Debug

  • <leader>db toggles a breakpoint
  • <leader>dB sets a conditional breakpoint
  • <leader>dc continues
  • <leader>di steps into
  • <leader>do steps over
  • <leader>dO steps out
  • <leader>dr opens the REPL
  • <leader>du toggles the DAP UI
  • <leader>dt terminates
  • <leader>dl reruns the last session

Tests

  • <leader>tr runs the nearest test
  • <leader>tf runs the current file
  • <leader>ts runs the suite
  • <leader>td debugs the nearest test
  • <leader>tt stops a running test
  • <leader>to opens test output
  • <leader>tO toggles the output panel
  • <leader>tS toggles the summary panel

Tasks

  • <leader>oo opens Overseer
  • <leader>oO toggles Overseer
  • <leader>or runs an Overseer task

LeetCode

  • :LeetCodeScratch opens a Python scratch buffer
  • :LeetCodeRun runs the current Python file

Notes

  • lazy-lock.json pins plugin versions.
  • nvim.log is ignored.
  • This config is tuned for JS/TS, Python, Go, and Nx work.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages