diff --git a/README.md b/README.md index dd86c8f..0e6c41f 100644 --- a/README.md +++ b/README.md @@ -4,8 +4,8 @@ https://github.com/kdheepak/kickstart.nvim/assets/1813121/f3ff9a2b-c31f-44df-a4f ### Introduction -Some modifications I have done with the original kickstart script. This is what I use daily. -A starting point for Neovim that is: a fork of https://github.com/nvim-lua/kickstart.nvim +Many modifications I have done with the original kickstart script. This is what I use daily. +It's way ahead of the starting point for Neovim that is: a fork of https://github.com/nvim-lua/kickstart.nvim This repo is meant to be used by **YOU** to begin your Neovim journey; remove the things you don't use and add what you miss. @@ -35,8 +35,133 @@ git clone https://github.com/psychhim/kickstart.nvim.git %userprofile%\AppData\L git clone https://github.com/psychhim/kickstart.nvim.git $env:USERPROFILE\AppData\Local\nvim\ -### Post Installation +Neovim Custom Keymaps -Start Neovim -nvim +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. +