0% found this document useful (0 votes)
133 views4 pages

Cursor Movement: VI Cheat Sheet

This document provides a cheat sheet of common keyboard shortcuts for navigating, editing, searching, and working with files in the VI text editor. It includes shortcuts for cursor movement, inserting/appending text, editing, marking/visual selection of text, cutting/pasting, searching/replacing, working with multiple files, and quitting/exiting VI.

Uploaded by

DataStage4You
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
133 views4 pages

Cursor Movement: VI Cheat Sheet

This document provides a cheat sheet of common keyboard shortcuts for navigating, editing, searching, and working with files in the VI text editor. It includes shortcuts for cursor movement, inserting/appending text, editing, marking/visual selection of text, cutting/pasting, searching/replacing, working with multiple files, and quitting/exiting VI.

Uploaded by

DataStage4You
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 4

VI Cheat Sheet

Cursor movement

h - move left
j - move down

k - move up

l - move right

w - jump by start of words (punctuation considered words)

W - jump by words (spaces separate words)

e - jump to end of words (punctuation considered words)

E - jump to end of words (no punctuation)

b - jump backward by words (punctuation considered words)

B - jump backward by words (no punctuation)

0 - (zero) start of line

^ - first non-blank character of line

$ - end of line

G - Go To command (prefix with number - 5G goes to line 5)

Note: Prefix a cursor movement command with a number to repeat it. For example, 4j moves
down 4 lines.

Insert Mode - Inserting/Appending text

i - start insert mode at cursor


I - insert at the beginning of the line

a - append after the cursor

A - append at the end of the line

o - open (append) blank line below current line (no need to press return)

O - open blank line above current line

ea - append at end of word

Esc - exit insert mode

Editing

r - replace a single character (does not use insert mode)


J - join line below to the current one

cc - change (replace) an entire line

cw - change (replace) to the end of word

c$ - change (replace) to the end of line

s - delete character at cursor and subsitute text

S - delete line at cursor and substitute text (same as cc)

xp - transpose two letters (delete and paste, technically)

u - undo

. - repeat last command

Marking text (visual mode)

v - start visual mode, mark lines, then do command (such as y-yank)


V - start Linewise visual mode

o - move to other end of marked area

Ctrl+v - start visual block mode

O - move to Other corner of block

aw - mark a word

ab - a () block (with braces)

aB - a {} block (with brackets)

ib - inner () block

iB - inner {} block

Esc - exit visual mode

Visual commands

> - shift right


< - shift left

y - yank (copy) marked text

d - delete marked text

~ - switch case

Cut and Paste

yy - yank (copy) a line


2yy - yank 2 lines

yw - yank word

y$ - yank to end of line

p - put (paste) the clipboard after cursor

P - put (paste) before cursor

dd - delete (cut) a line

dw - delete (cut) the current word

x - delete (cut) current character

Exiting

:w - write (save) the file, but don't exit


:wq - write (save) and quit

:q - quit (fails if anything has changed)

:q! - quit and throw away changes

Search/Replace

/pattern - search for pattern


?pattern - search backward for pattern

n - repeat search in same direction

N - repeat search in opposite direction

:%s/old/new/g - replace all old with new throughout file

:%s/old/new/gc - replace all old with new throughout file with confirmations

Working with multiple files

:e filename - Edit a file in a new buffer


:bnext (or :bn) - go to next buffer

:bprev (of :bp) - go to previous buffer

:bd - delete a buffer (close a file)

:sp filename - Open a file in a new buffer and split window

ctrl+ws - Split windows

ctrl+ww - switch between windows

ctrl+wq - Quit a window

ctrl+wv - Split windows vertically

Like the Facebook Page & join Group


https://www.facebook.com/DataStage4you
https://www.facebook.com/groups/DataStage4you
https://twitter.com/datastage4you
For WHATSAPP group , drop a msg to 91-88-00-906098

You might also like