tags:: #note/boat #note/develop #on/computing # Julianne's Vim Cheat Sheet This note is meant to be a quick reference for Vim commands I want to remember. > [!NOTE] Note > The shortcuts listed here are specific to my own setup. I am a [Neovim](https://neovim.io/) user. Specifically, I use a heavily-modified configuration based on the [LazyVim](https://neovim.io/) starter. Because of this, some of the commands in this note may or may not work in your own setup. > [!NOTE] Note > Not every keybind in existence is listed here. I am only listing the shortcuts that I want to remember. As I learn and use more of them, they will be added to the list. ## Movement and Navigation | Keybind | Action | | ------------- | ---------------------------------------------------- | | `h` | Move cursor left | | `j` | Move cursor down | | `k` | Move cursor up | | `l` | Move cursor right | | `0` | Jump to the start of the line | | `gg` | Go to the first line of the document | | `G` | Go to the last line of the document | | `5gg` or `5G` | Go to line 5 | | `ctrl + e` | Move screen down one line (without moving cursor) | | `ctrl + y` | Move the screen up one line (without moving cursor) | | `ctrl + b` | Move the screen up one page (cursor to last line) | | `ctrl + f` | Move the screen down one page (cursor to first line) | | `ctrl + d` | Move cursor and screen down 1/2 page | | `ctrl + u` | Move cursor and screen up 1/2 page | > [!tip] > Prefix a cursor movement command with a number to repeat it. For example, `8j` moves the cursor down 8 lines. ## User Interface ### Window Management | Keybind | Action | | -------------- | ---------------------------- | | `ss` | Split window | | `sv` | Split window vertically | | `sh` | Move cursor left one window | | `sk` | Move cursor up one window | | `sj` | Move cursor down one window | | `sl` | Move cursor right one window | | `<C-w><left>` | Resize window left | | `<C-w><up>` | Resize window up | | `<C-w><down>` | Resize window down | | `<C-w><right>` | Resize window right | ### Tab Management | Keybind | Action | | ----------------- | ------------------------------- | | `te` | Open new tab | | `<tab>` | Switch to the next open tab | | `<shift> + <tab>` | Switch to the previous open tab | ## Code Examination | Keybind | Action | Plugin | | ---------- | ----------------------------------- | ------------------------------------------------------------------ | | `ctrl + j` | Go to next diagnostic warning/error | | | `;e` | List diagnostic warnings/errors | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim) | | `;f` | Find files | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim) | | `;r` | Live grep | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim) | | `\\` | List buffers | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim) | | `;t` | Help tags | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim) | | `;;` | Resume | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim) | | `;s` | Open treesitter | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim) | | `sf` | Open file browser | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim) |