90 lines
2.2 KiB
Markdown
90 lines
2.2 KiB
Markdown
---
|
|
title: Vim
|
|
description:
|
|
published: true
|
|
date: 2025-10-11T16:49:48.279Z
|
|
tags:
|
|
editor: markdown
|
|
dateCreated: 2025-10-11T16:38:44.398Z
|
|
---
|
|
|
|
# Vim
|
|
|
|
## Insert
|
|
| Command | Description |
|
|
| - | - |
|
|
| `i` | Insert before cursor |
|
|
| `I` | Insert at start of line |
|
|
| `a` | Insert after cursor |
|
|
| `A` | Insert at end of line |
|
|
| `o` | New line below |
|
|
| `O` | New line above |
|
|
| `<Esc>` | Back to Normal mode |
|
|
|
|
## Navigation
|
|
| Command | Description |
|
|
| - | - |
|
|
| `h` / `l` | Move left / right |
|
|
| `j` / `k` | Move down / up |
|
|
| `w` / `b` | Next / previous word |
|
|
| `0` / `$` | Start / end of line |
|
|
| `gg` / `G` | Start / end of file |
|
|
| `Ctrl+d` / `Ctrl+u` | Half-page down / up |
|
|
| `Ctrl+f` / `Ctrl+b` | Full-page down / up |
|
|
| `:n` | Go to line `n` |
|
|
|
|
## Edit
|
|
| Command | Description |
|
|
| - | - |
|
|
| `x` | Delete character |
|
|
| `dd` | Delete (cut) line |
|
|
| `yy` | Yank (copy) line |
|
|
| `p` | Paste below |
|
|
| `P` | Paste above |
|
|
| `u` | Undo |
|
|
| `Ctrl+r` | Redo |
|
|
| `.` | Repeat last change |
|
|
| `"+y` | Copy to system clipboard |
|
|
| `"+p` | Paste from system clipboard |
|
|
|
|
## Search and Replace
|
|
| Command | Description |
|
|
| - | - |
|
|
| `/pattern` | Search forward |
|
|
| `?pattern` | Search backward |
|
|
| `n` / `N` | Next / previous result |
|
|
| `:%s/old/new/g` | Replace all in file |
|
|
|
|
## Indent, Format, Repeat
|
|
| Command | Description |
|
|
|----------|--------------|
|
|
| `>>` / `<<` | Indent / unindent line |
|
|
| `=` | Auto-indent selection |
|
|
| `J` | Join line below |
|
|
| `.` | Repeat last command |
|
|
| `:set number` | Show line numbers |
|
|
| `:noh` | Clear search highlight |
|
|
| `:s/old/new/g` | Replace all in current line |
|
|
| `:%s/old/new/gc` | Confirm each replacement |
|
|
|
|
## Visual Mode
|
|
| Command | Description |
|
|
|----------|--------------|
|
|
| `v` | Start character selection |
|
|
| `V` | Line selection |
|
|
| `Ctrl+v` | Block selection |
|
|
| `y` | Yank (copy) |
|
|
| `d` | Delete |
|
|
| `p` | Paste over selection |
|
|
|
|
## VS Code Integrations
|
|
| Action | Shortcut |
|
|
|--------|-----------|
|
|
| Open command palette | `:action ShowCommands` or `Ctrl+Shift+P` |
|
|
| Open file | `Ctrl+P` |
|
|
| Toggle terminal | `Ctrl+\`` |
|
|
| Split editor | `:vsplit` or `Ctrl+\` |
|
|
| Switch editor group | `Ctrl+w w` |
|
|
| Save | `:w` or `Ctrl+s` |
|
|
| Quit | `:q` |
|
|
| Save & Quit | `:wq` | |