Categories: Hostripples Featured

vi and vim cheat sheet for Linux

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
Another good vim commands cheatsheet and a vi introduction using the “cheat sheet” method


HR-ADMIN

Recent Posts

Crafting a Professional Email: Step-by-Step Guide

Due to growing digitalization, Email Communication has become the backbone of professional interactions. Yet, surprisingly, many professionals struggle to craft…

1 day ago

Demystifying SSL: What Every Website Owner Should Know

As the digital landscape continues to evolve, securing your website has never been more crucial. SSL, or Secure Sockets Layer,…

1 week ago

Cyberduck and FileZilla: A Comprehensive Comparison

As a web designer and web developer your experience must have reached to new height, right? Further, you need to…

1 month ago

The Science Behind Social Media Posting Times

In today's digital landscape, timing is everything. Whether you're a social media manager, business owner, or content creator, the success…

1 month ago

Mastering Google Search Console: Tips for New Users

Are you a website owner? Maintaining the website is the prime concern for any website owner. Yes, it’s equally important…

1 month ago