My Neovim configuration. Leveraging LazyVim. Dependencies:
- Nerd Font
- Neovim >= 0.9
brew install \
fd \
fzf \
git \
go \
jsonlint \
lua \
luajit \
neovim \
node \
npm \
python3 \
ripgrep \
ruby \
shellcheck \
shfmt \
stylua \
terraform \
tree-sitter \
yamllintyay -S \
bash-language-server \
go \
gopls \
luarocks \
markdownlint-cli2 \
marksman \
nodejs \
npm \
python \
ruby \
ruby-sorbet-runtime \
shellcheck \
shfmt \
stylua \
terraform \
vscode-json-languageserver \
wget \
yaml-language-server \
yamllint \
zipmake updateUse Space ? to search mappings. See LazyVim keymap for reference.
- Tab Tab: Next buffer
- Shift Tab Tab: Previous buffer
- q: Delete current buffer (quit if last buffer)
- Ctl h/j/k/l: Window movement
- Ctl q: Blockwise visual select
- o: Move to other side of selection in visual mode
- %: Move to matching parenthesis
- -: Browse root directory (neo-tree)
- Space ss: Search symbols (e.g., functions)(fzf)
- Space Space: Search root directory (fzf)
- Space /: Search directory (fzf)
- Space :: Search command history (fzf)
- s: Move to a letter (flash)
- S: Select a tree element (flash)
- c s [Char]: Replace surrounding char (mini.surround)
- F: Format code
- Tab: Indent text (visual mode)
- Shift Tab: Unindent text (visual mode)
- Ctl y: Copy entire buffer to system clipboard
- Y: Copy selection to system clipboard (visual mode)
- K: Show method signature in visual mode (LSP)
- Ctl k: Show method signature in insert mode (LSP)
- >: Go to next diagnostic
- <: Go to previous diagnostic
- Ctl h: Next git hunk (or diff change in diff mode)
- Spacet: Run test (neotest)
- Ctl g: Toggle Claude Code
- Ctl /: Open terminal (snacks)
- Space `: Show all notices (noice)
- Esc: Dismiss all notifications