🎨 gvim/vim Commands – Basic Operations
| Topic | Question | Answer |
|---|---|---|
| gvim | Open file | gvim filename or vim filename |
| gvim | Open at line | vim +10 filename |
| gvim | Open at pattern | vim +/pattern filename |
| gvim | Open multiple files | vim file1 file2 file3 |
| gvim | Open in read-only | vim -R filename or view filename |
| gvim | Open with diff | vimdiff file1 file2 |
| gvim | Exit without saving | :q! |
| gvim | Save file | :w |
| gvim | Save and exit | :wq or :x or ZZ |
| gvim | Save as | :w newfilename |
| gvim | Save part of file | :10,20w partial.txt |
| gvim | Quit all | :qa |
| gvim | Save all | :wa |
| gvim | Enter insert mode | i |
| gvim | Insert after cursor | a |
| gvim | Insert at line start | I |
| gvim | Insert at line end | A |
| gvim | Open line below | o |
| gvim | Open line above | O |
| gvim | Exit insert mode | ESC or CTRL + [ or CTRL + c |
| gvim | Enter command mode | : |
| gvim | Delete character | x |
| gvim | Delete character before | X |
| gvim | Delete line | dd |
| gvim | Delete N lines | Ndd (e.g., 5dd) |
| gvim | Delete to end of line | D or d$ |
| gvim | Delete to start of line | d0 or d^ |
| gvim | Delete word | dw |
| gvim | Delete word backward | db |
| gvim | Delete inside word | diw |
| gvim | Delete around word | daw |
| gvim | Delete inside quotes | di" or di' |
| gvim | Delete around quotes | da" or da' |
| gvim | Delete inside parentheses | di( or dib |
| gvim | Delete around parentheses | da( or dab |
| gvim | Delete inside brackets | di[ or di{ |
| gvim | Delete around brackets | da[ or da{ |
| gvim | Delete to character | df{char} or dt{char} |
| gvim | Change word | cw |
| gvim | Change inside word | ciw |
| gvim | Change line | cc or S |
| gvim | Change to end | C |
| gvim | Copy (yank) line | yy or Y |
| gvim | Copy N lines | Nyy (e.g., 3yy) |
| gvim | Copy word | yw |
| gvim | Copy to end of line | y$ |
| gvim | Copy to start of line | y0 |
| gvim | Copy inside word | yiw |
| gvim | Copy entire file | :%y or ggVGy |
| gvim | Paste after cursor | p |
| gvim | Paste before cursor | P |
| gvim | Paste from register | "ap |
| gvim | Undo | u |
| gvim | Undo line | U |
| gvim | Redo | CTRL + r |
| gvim | Repeat last command | . |
| gvim | Repeat last :command | @: |
🧠gvim/vim Commands – Navigation
| Topic | Question | Answer |
|---|---|---|
| gvim | Move left | h |
| gvim | Move down | j |
| gvim | Move up | k |
| gvim | Move right | l |
| gvim | Move to line start | 0 |
| gvim | Move to first non-blank | ^ |
| gvim | Move to line end | $ |
| gvim | Move to file start | gg or 1G |
| gvim | Move to file end | G |
| gvim | Go to line N | :N or NG |
| gvim | Move forward word | w |
| gvim | Move forward WORD | W |
| gvim | Move backward word | b |
| gvim | Move backward WORD | B |
| gvim | Move to end of word | e |
| gvim | Move to end of WORD | E |
| gvim | Move forward sentence | ) |
| gvim | Move backward sentence | ( |
| gvim | Move forward paragraph | } |
| gvim | Move backward paragraph | { |
| gvim | Move forward to char | f{char} |
| gvim | Move backward to char | F{char} |
| gvim | Move till char | t{char} |
| gvim | Move till char backward | T{char} |
| gvim | Repeat last f/t | ; |
| gvim | Reverse last f/t | , |
| gvim | Jump to matching bracket | % |
| gvim | Scroll down half page | CTRL + d |
| gvim | Scroll up half page | CTRL + u |
| gvim | Scroll down full page | CTRL + f |
| gvim | Scroll up full page | CTRL + b |
| gvim | Scroll line down | CTRL + e |
| gvim | Scroll line up | CTRL + y |
| gvim | Center screen on cursor | zz |
| gvim | Top of screen | zt |
| gvim | Bottom of screen | zb |
| gvim | Move to top of screen | H |
| gvim | Move to middle of screen | M |
| gvim | Move to bottom of screen | L |
🔎 gvim/vim Commands – Search & Replace
| Topic | Question | Answer |
|---|---|---|
| gvim | Search forward | /{pattern} |
| gvim | Search backward | ?{pattern} |
| gvim | Next search result | n |
| gvim | Previous search result | N |
| gvim | Search word under cursor | * |
| gvim | Search word backward | # |
| gvim | Search case insensitive | /pattern\c |
| gvim | Search case sensitive | /pattern\C |
| gvim | Clear search highlight | :noh or :nohlsearch |
| gvim | Find and replace in line | :s/old/new/ |
| gvim | Find and replace all in line | :s/old/new/g |
| gvim | Find and replace in file | :%s/old/new/g |
| gvim | Replace with confirmation | :%s/old/new/gc |
| gvim | Replace in range | :10,20s/old/new/g |
| gvim | Replace in visual selection | :'<,'>s/old/new/g |
| gvim | Replace with case insensitive | :%s/old/new/gi |
| gvim | Replace whole word | :%s/\<old\>/new/g |
| gvim | Global command | :g/pattern/command |
| gvim | Delete lines matching | :g/pattern/d |
| gvim | Copy lines matching | :g/pattern/y A |
🎯 gvim/vim Commands – Visual Mode
| Topic | Question | Answer |
|---|---|---|
| gvim | Enter visual mode | v |
| gvim | Enter visual line mode | V |
| gvim | Enter visual block mode | CTRL + v |
| gvim | Select all | ggVG |
| gvim | Reselect last selection | gv |
| gvim | Select inner word | viw |
| gvim | Select around word | vaw |
| gvim | Select inner sentence | vis |
| gvim | Select inner paragraph | vip |
| gvim | Select inner block | vi{ or vib |
| gvim | Indent selection | > |
| gvim | Unindent selection | < |
| gvim | Toggle case | ~ |
| gvim | Make uppercase | U |
| gvim | Make lowercase | u |
| gvim | Sort selection | :sort |
| gvim | Increment numbers | CTRL + a |
| gvim | Decrement numbers | CTRL + x |