Skip to content

Latest commit

 

History

25 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

About

This are my personal NVIM minimal setup that works for me. There are installed plugins and custom bindings customized for personal use-case.

Requirement

  1. nvim
  2. lazygit
  3. tar and curl in your path
  4. tree-sitter-cli (0.26.1 or later)

How To Install

  1. Install nvim
  2. Move this repository to ~/.config/nvim
  3. Open nvim and it will automatically installed the package (restart if needed)

Useful Commands

Leader key is <Space>.

Files & Search (Telescope)

Key Action
<C-p> Find files
<leader>fg Live grep
<leader>fd List diagnostics
<leader>flut Flutter commands
<leader>b Toggle file explorer (neo-tree)

Buffers (bufferline)

Key Action
<leader>bb Pick a buffer
<leader>bd Close current buffer

Git (gitsigns / lazygit)

Key Action
<leader>gg Open LazyGit
<leader>gb Preview git hunk
(automatic) Current line git blame shown as virtual text

Diagnostics & LSP (trouble.nvim)

Key Action
<leader>xx Toggle diagnostics list
<leader>xX Toggle buffer-only diagnostics
<leader>xq / <leader>xQ Toggle quickfix list
<leader>xL Toggle location list
<leader>cs Toggle symbols outline
<leader>cl Toggle LSP references/definitions panel
gd Go to definition
gr Find references
gi Go to implementation

Tag & Bracket Matching (vim-matchup)

Key Action
% Jump between matching pair (brackets, HTML/JSX tags, keywords)
g% Jump to matching pair backwards
z% Jump to nearest surrounding pair

Surround (nvim-surround)

Key Action
ys{motion}{char} Add a surround (e.g. ysiw")
cs{old}{new} Change a surround (e.g. cs"')
ds{char} Delete a surround (e.g. ds")
cst{tag} Change surrounding HTML/JSX tag

Comments (Comment.nvim)

Key Action
gcc Toggle line comment
gc{motion} / visual gc Comment a motion or selection
gbc Toggle block comment

Quick Motion (flash.nvim)

Key Action
s Jump to any visible location
S Jump using treesitter nodes

Treesitter Textobjects & Movement

Key Action
am / im Select function outer/inner (e.g. dam, vim)
ac / ic Select class outer/inner
as Select local scope
]m / [m Jump to next/previous function start
]] / [[ Jump to next/previous class start
<leader>a / <leader>A Swap parameter with next/previous

Indent Navigation (vim-indentwise)

Key Action
]- / [- Next/previous line with lesser indent
]+ / [+ Next/previous line with greater indent
]= / [= Next/previous line with same indent

Editing & Movement

Key Action
<C-j> / <C-k> Move current line (or visual selection) down/up
<C-d> / <C-u> Scroll half-page down/up, keep cursor centered
<Esc> Clear search highlight

Formatting (conform.nvim)

Runs automatically on :w for ts, tsx, js, jsx, astro, html, json, css, scss, md.

Debugging (nvim-dap)

DAP UI opens/closes automatically on debug session events. No default keymaps are set — call require('dap').continue(), .toggle_breakpoint(), etc. directly, or use Flutter's own :FlutterRun / :FlutterDebug commands for Flutter debugging.

Plugin & LSP Management

Command Action
:Lazy Open plugin manager UI
:Mason Open LSP/tool installer UI
:ConformInfo Show active formatters for current buffer

Todo

  • [] Split keymap bindings onto it's reserved file
  • [] Have a list of plugins under single source of truth so it can be reorder

About

Simple NVIM setup for me that works!

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages