CSE 333 Vim cheat Sheet

This page is designed to help you get Vim to help you. Vim has a long history and a massive amount of commands, key board shortcuts, and more. This guide brings to you the most commonly used and most useful commands for writing C/C++ code in vim.

Basic Commands

i ⇒ Enter ‘input mode’, allows you to edit text but you can’t run commands

Esc ⇒ Exit ‘input mode’/’selection mode’ (see v)

:w ⇒ Save the changes you have on the current file

:q ⇒ Close the current editor window (see the sections below)

:wq or ZZ ⇒ Save the changes you have on the current file and close the editor window

:q! ⇒ Close the current editor window without saving the open file

:! <command> ⇒ Run <command> in your current shell (e.g., !make)

:<number> or <number> ⇒ go to line <number>

u ⇒ Undo the last change

ctr+r ⇒ Redo the last change the last undo

v ⇒ Start highlighting by character ('selection mode')

V ⇒ Start highlighting by line

y ⇒ Copy current selection

yy ⇒ Copy current line

d ⇒ Delete/Cut current selection

dd ⇒ Delete/Cut current line

p ⇒ Paste the last thing that was cut/copied

P ⇒ Paste the last thing that was cut/copied before the cursor

Searching in Files

/<regular expression> ⇒ Search for occurrences of <regular expressions>

n ⇒ Go to the next occurrence of the search term

N ⇒ Go to the previous occurrence of the search team

:noh ⇒ Stop highlighting ocurrences of the current search term

Editing Multiple Files

:e <filename> ⇒ Open <filename> in the current window

:sp <filename> ⇒ Split the current window in two, horizontally, and open <filename> in the new window

:vsp <filename> ⇒ Split the current window in two, vertically, and open <filename> in the new window

Moving Between Windows

ctr+w ctr+w ⇒ Move clockwise to the next window

ctr+w → or ctr+w l ⇒ Move to the window to the right of the current one

ctr+w ↑ or ctr+w k ⇒ Move to the window above the current one

ctr+w ← or ctr+w h ⇒ Move to the window to the left of the current one

ctr+w ↓ or ctr+w j ⇒ Move to the window below the current one

Rearrranging Windows

ctr+w x ⇒ Exchange the current window with the next one in the current row/column

ctr+w L ⇒ Move the current window to occupy the right side of the screen

ctr+w K ⇒ Move the current window to occuppy the top of the screen

ctr+w H ⇒ Move the current window to occupy the left side of the screen

ctr+w J ⇒ Move the current window to occupy the bottom of the screen

Resizing Windows

ctr+w = ⇒ Have all windows take up an equal space of their row/column

<number> ctr+w + ⇒ Increase window height by <number>

<number> ctr+w — ⇒ Decrease window height by <number>

<number> ctr+w > ⇒ Increase window width by <number>

<number> ctr+w < ⇒ Decrease window width by <number>