BobaVim – A game to learn and master Vim motions

4 hours ago 2

Basic Movement

h - Move cursor left

Try: Move cursor left character by character

j - Move cursor down

Try: Move cursor down one line

k - Move cursor up

Try: Move cursor up one line

l - Move cursor right

Try: Move cursor right character by character


Word Movement

w - Move to beginning of next word

Try: Jump to start of next word (punctuation separated) punctuation is ':', '.', ','

W - Move to beginning of next WORD

Try: Jump to start of next WORD (space separated)

e - Move to end of current word

Try: Jump to end of current/next word

B - Move to beginning of previous WORD

Try: Jump backwards to start of WORD

gE - Move to end of previous WORD

Try: Jump backwards to end of WORD punctuation : ',' ':' '.'

ge - Move to end of previous word

Try: Jump backwards to end of word

g_ - Move to last non-blank character of line

Try: Jump to last non-whitespace character

Line Movement

0 - Move to beginning of line

Try: Jump to first character of line

^ - Move to first non-blank character of line

Try: Jump to first non-whitespace character

$ - Move to end of line

Try: Jump to last character of line

Character Search

f{char} - Find next occurrence of character

Try: fa (find next 'a' character)

F{char} - Find previous occurrence of character

Try: FA (find previous 'A' character)

t{char} - Move to before next occurrence of character

Try: ta (move until next 'a' character)

T{char} - Move to after previous occurrence of character

Try: TA (move until previous 'A' character)

; - Repeat last f, F, t, or T search

Try: After fa, use ; to find next 'a'

, - Repeat last f, F, t, or T search in opposite direction

Try: After fa, use , to find previous 'a'

File & Screen Navigation

gg - Go to beginning of file

Try: Jump to first line of document

G - Go to end of file

Try: Jump to last line of document

5G - Go to line 5

Try : space n to show the number of line, and use xG (x = number line you want)

H - Move to top of screen

Try: Jump to highest visible line

M - Move to middle of screen

Try: Jump to middle visible line

L - Move to bottom of screen

Try: Jump to lowest visible line

Bracket & Parentheses

( - Move to previous sentence, sentence is : '.' '!' '?' separated by ' ' ']' '"',' ', '\n'

Try: Jump backward by sentences, sentence is : '.' '!' '?' separated by ' ' ']' '"',' ', '\n'

) - Move to next sentence

Try: Jump forward by sentences, sentence is : '.' '!' '?' separated by ' ' ']' '"',' ', '\n'

{ - Move to previous paragraph, paragraph : group of non-empty lines separated by one or more blank lines.

Try: Jump backward by paragraphs

} - Move to next paragraph, paragraph : group of non-empty lines separated by one or more blank lines.

Try: Jump forward by paragraphs

% - Jump to matching bracket/parenthesis

Try: Jump between (), [], {} pairs

Multipliers

3j - Move down 3 lines

Try: Any number + motion (5w, 10k, 2f)

5w - Move forward 5 words

Try: Combine numbers with any motion command

Groovy Tip: Use these motions to navigate the keyboard and collect pearls like a true Vim master!

Read Entire Article