Skip to content

Latest commit

 

History

362 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dotvim

My Neovim configuration. Leveraging LazyVim.

Install

Setup

make setup

Update

make update

Mason

LSP servers and tools are managed by Mason with version-locked installs via mason-lock.nvim.

To restore pinned tools:

make restore
  • :Mason — browse/install packages
  • :MasonLock — save current versions to mason-lock.json
  • :MasonLockRestore — install exact versions from lockfile

Keys

Use Space ? to search all keymaps. See LazyVim keymap for full reference.

Buffers

  • Shift l / ]b: Next buffer
  • Shift h / [b: Previous buffer
  • Space Tab: Browse open buffers (dropdown picker, j/k to navigate, type to filter)
  • Space bd: Delete buffer
  • Space qq: Quit all

Windows

  • Ctl h/j/k/l: Window movement
  • Ctl q: Toggle terminal insert mode

Navigation

  • -: Browse files (vertical popup)
  • Space e: Browse root directory (sidebar)
  • Space Space: Find files
  • Space /: Live grep across project (ripgrep + fzf)
  • _: Browse symbols in current file (scrollable tree + preview)
  • &: Fuzzy search symbols across workspace (LSP)

Editing

  • s: Jump to letter (flash)
  • S: Select treesitter node (flash) — highlights syntax blocks like functions, conditions, loops; type a label to jump/select
  • g s r: Replace surrounding
  • g s a / g s d: Add / delete surrounding
  • > / < (visual): Indent / unindent
  • g c c / g c (visual): Comment
  • F: Format
  • Ctl y: Copy buffer to clipboard
  • Y (visual): Copy selection to clipboard
  • %: Jump to matching bracket / paren / brace
  • qa: Record macro into register a (stop with q); @a to replay, @@ to repeat last

Completion

  • Ctl Space: Manually trigger / toggle docs
  • Tab / Shift Tab: Navigate list
  • Enter: Confirm selection
  • Ctl e: Cancel
  • Ctl b / Ctl f: Scroll docs

LSP

  • K: Hover docs for symbol under cursor
  • gK: Signature help — shows function parameter list (like the tooltip when you type ()
  • gd: Go to definition
  • gI: Go to implementation
  • gy: Go to type definition
  • gr: References
  • `: Toggle floating diagnostics
  • ]d / [d: Next / previous diagnostic

Refactoring

Space c is the code action prefix — hit it and which-key shows everything available. Key ones:

  • Space cr: Rename symbol (F2 in VSCode / GoLand)
  • Space ca: Code action / quick fix (Ctrl+. in VSCode) — extract variable, organize imports, fix errors
  • Space cf: Format file
  • Space cR: Rename file (updates LSP references too)
  • Space uh: Toggle inlay hints (inline type annotations in the code)

Space s is the search prefix. Useful ones beyond files:

  • Space sS: Symbols across workspace (same as &)

Git

  • ]h / [h: Next / previous hunk
  • Space ghs: Stage hunk
  • Space ghr: Reset hunk
  • Space gb: Blame line

Testing

  • Space tr: Run nearest test
  • Space tf: Run file tests

Other

  • Ctl g: Toggle Claude Code panel (works in normal, insert, and terminal mode)
  • Ctl /: Open terminal
  • Esc: Dismiss notifications + clear search highlights

Transition

Was Now
q <leader>bd / <leader>qq
<Tab><Tab> / <S-Tab><S-Tab> <S-l> / <S-h>
> / < (normal, diagnostics) ]d / [d
<C-h> (git hunk, broke window nav) ]h
<Tab> / <S-Tab> (visual indent) > / <
<Esc> (dismiss notifs, broke noh) <Esc> does both now
<C-t> (todo search) <leader>sT
# (comment) gcc / gc
# (search backward) * then N
cs (surround replace) gsr

When stuck

  • Space ?: Search all keymaps (fzf)
  • Space sC: Search commands (fzf)
  • Space :: Search command history (fzf)
  • LazyVim keymaps reference

References

About

My VIM configuration

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages