# kickstart.nvim Neovim Custom Keymaps A collection of custom keymaps for Neovim aimed at improving productivity, navigation, and clipboard management. These keymaps are written in Lua for Neovim ≥0.7 and include enhanced visual/normal mode operations, smart buffer/file handling, and more. Features [[ Navigation ]] Smooth scrolling with centered cursor: j / k Enhanced search: n / N keeps cursor centered Move lines visually: J / K in visual mode Switch between splits quickly: / [[ Buffer & File Management ]] Smart buffer switch using Telescope: Smart file open (gf) reuses empty buffers or opens in a new tab Create new empty buffers in splits or tabs: Horizontal: sv Vertical: sh New tab: e Save buffers safely: w — Save current buffer (prompts if new) qy — Save and quit qn — Quit without saving [[ Clipboard & Copying ]] Copy current line: Y (normal mode) Copy selection: Y (visual mode, trims extra newlines) Select all and copy: lY (entire buffer without trailing newline) Paste from clipboard: P (at cursor, or over selection without yanking it) Notifications when content is copied to clipboard [[ Diagnostics ]] [d] / ]d — Navigate diagnostics de — Open diagnostic floating window dq — Set location list for diagnostics [[ Misc ]] Reselect last visual selection after moving lines Better word wrap handling: j / k intelligently move through wrapped lines Smart J in normal mode joins lines without moving cursor Paste over selection without yanking replaced text: p Keymaps Overview Normal Mode Keymaps: | Key | Action | Description | | ------------------ | ------------------- | ---------------------------------------------------------------- | | `J` | Join line | Join current line with next without moving cursor | | `j` | Scroll down | `` + center cursor | | `k` | Scroll up | `` + center cursor | | `n` / `N` | Search | Keep cursor centered on matches | | `Y` | Copy line | Copy current line to system clipboard | | `lY` | Copy all | Select entire buffer and copy to clipboard (no trailing newline) | | `w` | Save | Save current buffer (prompts if new) | | `q` | Quit | Close buffer (prompts if modified) | | `qy` | Save & quit | Save and close buffer | | `qn` | Quit without saving | Discard changes and close buffer | | `` | Smart buffer switch | Open Telescope buffer switcher | | `gf` | Smart file open | Open file under cursor in current/new tab | Visual Mode Keymaps: | Key | Action | Description | | ----------- | -------------- | --------------------------------------------------------- | | `J` / `K` | Move selection | Move selected lines up or down | | `Y` | Copy selection | Copy selected text to system clipboard (no extra newline) | | `p` | Paste | Paste over selection without yanking replaced text | | `P` | Paste | Paste from clipboard without replacing selection | Split/Window Management: | Key | Action | Description | | --------------- | ---------------- | ------------------------------ | | `sv` | Horizontal split | New empty buffer below current | | `sh` | Vertical split | New empty buffer to the right | | `t` | New terminal | Open terminal in new tab | | `` | Switch splits | Switch to next window | | `` | Switch splits | Switch to previous window | Diagnostics Keymaps: | Key | Action | Description | | ------------ | ------------- | ------------------------------------------ | | `[d` / `]d` | Previous/Next | Go to previous/next diagnostic | | `de` | Float | Show diagnostic message in floating window | | `dq` | Location list | Set location list for diagnostics | Contributing Contributions, bug reports, and suggestions are welcome. Please open an issue or submit a pull request if you have improvements for keymaps, new features, or optimizations. License MIT License — feel free to use and modify these keymaps in your own Neovim setup.