Skip to content

iraycd/nvim-config

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Neovim Config

Personal Neovim configuration with an IDE-like setup. Features LSP-powered code intelligence (go-to-definition, references, rename), multi-repo git integration, and fuzzy file search.

Prerequisites

brew install neovim fd ripgrep lazygit
brew install --cask font-hack-nerd-font

Set your terminal font to Hack Nerd Font or Hack Nerd Font Mono.

Installation

git clone git@github.com:iraycd/nvim-config.git ~/.config/nvim

Open nvim and plugins will auto-install on first launch.

Plugins

Plugin Purpose
lazy.nvim Plugin manager
nvim-tree File explorer
telescope Fuzzy finder
telescope-fzf-native Native fzf sorter
telescope-live-grep-args Grep with ripgrep flags (filter by file/glob)
gitsigns Git gutter signs
lazygit Git UI
diffview Git diff/history viewer
bufferline Tab-like buffer bar
flash.nvim Jump to any character/word on screen
catppuccin Dark theme (mocha)
nvim-web-devicons File type icons
multi-repo-git (custom) Git status labels for nested repos
mason.nvim LSP server installer
mason-lspconfig Mason + lspconfig bridge
nvim-lspconfig LSP configuration

Language Servers

Auto-installed via Mason on first launch:

Language Server
TypeScript/JavaScript ts_ls
Python pyright
Go gopls
Zig zls
Dockerfile dockerls
Docker Compose docker_compose_language_service
YAML yamlls

Requires separate SDK installation:

Language Server Install
Dart/Flutter dartls Comes with the Dart SDK or Flutter SDK

Keyboard Shortcuts

Leader key is Space.

File Tree

Shortcut Action
Space + e Toggle file tree

Inside the file tree:

Shortcut Action
j / k Move up/down
Enter / o Open file / expand folder
Tab Preview file
a Create file/directory (end with / for dir)
d Delete
r Rename
x Cut
c Copy
p Paste
l Drill into folder (set as root)
h Go back up to parent root
Backspace Go to parent directory
- Navigate up one directory
gl Open lazygit for the repo under cursor
g? Show all keybinds

File Search

Shortcut Action
Space + p Find files (fuzzy, any order like Ctrl+P)
Space + f Search text in files (supports ripgrep flags)
Space + b Switch between open buffers

Inside live grep (Space + f):

Shortcut Action
Ctrl + k Quote the current prompt (needed before adding flags)
Ctrl + i Quote prompt and add --iglob for file/path filtering

Examples: "myFunction" -g "*.ts", "myFunction" -g "src/utils/*", "myFunction" -t go

Tabs / Buffers

Shortcut Action
Tab Next tab
Shift + Tab Previous tab
Space + x Close current tab

Window Navigation

Shortcut Action
Ctrl+w h Jump to left window (tree)
Ctrl+w l Jump to right window (editor)
Ctrl+w w Cycle between windows

Git - LazyGit

Shortcut Action
Space + g g Open lazygit (auto-detects repo, or lets you pick)
gl (in file tree) Open lazygit for the repo under cursor

Press q to close lazygit. The buffer auto-closes.

Git - Gitsigns (inline changes)

Shortcut Action
]c Next changed hunk
[c Previous changed hunk
Space + g p Preview hunk inline
Space + g a Stage hunk
Space + g u Unstage hunk
Space + g r Reset hunk
Space + g A Stage entire file
Space + g R Reset entire file
Space + g b Blame current line
Space + g B Blame line (full commit message)
Space + g d Diff against index

Git - Diffview (history)

Shortcut Action
Space + g h Current file commit history
Space + g H Full repo commit history
Space + g o View all uncommitted changes side-by-side
Space + g c Close diff view

Git - Multi-repo Status

Shortcut Action
Space + g m Manually refresh repo status labels

Repo status labels auto-refresh every 5 seconds and on file save.

LSP (Code Intelligence)

Shortcut Action
gd Go to definition (opens in new tab)
gD Go to definition (same buffer)
gr Find all references
gi Go to implementation
K Hover docs (show type/docs popup)
Space + rn Rename symbol across files
Space + ca Code action (quick fix, refactor)
Space + D Go to type definition
[d Previous diagnostic (error/warning)
]d Next diagnostic (error/warning)
Space + dd Show diagnostic details in float

Flash (Jump / Teleport)

Shortcut Action
s Flash jump — type 1-2 chars, then pick a label to jump
S Flash treesitter — select treesitter nodes (functions, blocks)

Works in normal, visual, and operator-pending modes (e.g., ds to delete-to-flash, ys to yank-to-flash). Also enhances / and ? search with jump labels.

Clipboard

System clipboard is synced — y copies to clipboard, p pastes from clipboard. No need for "+y.

File Navigation

Shortcut Action
gg Go to top of file
G Go to bottom of file
Ctrl + f Page down
Ctrl + b Page up
Ctrl + d Half page down
Ctrl + u Half page up
0 Beginning of line
$ End of line
w Next word
b Previous word
{ Previous blank line
} Next blank line
:42 Go to line 42

About

Personal Neovim configuration with LSP code intelligence, multi-repo git integration, fuzzy search, and IDE-like shortcuts

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages