from small one page howto to huge articles all in one place

search text in:




Other .linuxhowtos.org sites: www.linuxhowtos.org
toolsntoys.linuxhowtos.org



Last additions:
How to make X listen on port 6000

How to make X listen on port 6000

words:

34

views:

84613

userrating:

average rating: 1.2 (52 votes) (1=very good 6=terrible)


May, 25th 2007:
April, 26th 2007:
Apr, 10th. 2007:
Druckversion . pdf icon
You are here: Tutorials per portage category->app-editors->VI

2. Commands



Below you will find a cheat-sheet with vi commands. This cheat sheet will also come in handy in the next section of this document,
Practice Lesson #1.



vi cheat-sheet


a. cursor movements (items below are sometimes called objects):
h - left one character
l - right one character
j - down one line
k - up one line
w - right one word
b - back one word
$ - to the end of line
0 - to the beginning of the line
) - right one sentence
( - left one sentence
} - right one paragraph
{ - left one paragraph
Ctrl-F - forward one page
Ctrl-B - back one page
G - go to (without arguments, go to end of file)
b. deleting:
d - delete
then add one of the cursor movement symbols to
show what should be deleted, i.e.:
d$ - delete to end of line
d0 - delete to the beginning of the line
d} - delete to the end of paragraph
dd - delete delete (delete the whole line)
x - delete character cursor is on
c. other basic commands:
r - replace one character
ZZ - save and exit (hold down shift and press "z" twice)
y - yank (copy into temporary buffer)
then add cursor movement symbol to show what should be
copied, for example: y) - copy to the end of sentence
Y - yank line cursor is on
p - paste below cursor line (deleted or copied text)
P - paste above cursor line
u - undo last editing command
/sometext - search for "sometext"

d. any command can take numeric argument before the name of "object", i.e.:
5dd - delete 5 lines beginning with cursor line (or) d5d - same
2dw - delete two words (or) d2w - delete two words
c3w - change 3 words
3Ctrl-B - move up three pages
1G - go to the first line
e. external commands can be performed on the selected text (in lines)
if command is started with "!", i.e.:
!}fmt - reformat paragraph to 72 columns
f. command line (sometimes called "ex mode"):
:
g. from the command line a "set" command can be executed to
customize editing environment, i.e.:
:set all - will show the state of all options
:set number - will show on the screen numbers of all lines
:set autoindent // obvious
h. from the command line operations can be performed on the range of lines,
i.e.:
:18,24 del - delete from line 18 to line 24
:23,48 copy 17 - block from line 23 to 48 copy to line 17
:2,17 move 92 - block from line 2 to 17 move to line 92
i. from the command line any external UNIX command can be performed on
the range of lines if line range is superseded by "!":
:11,16! sed -e "s/^//*/" -e "s/$/*//"

(the command above wraps the block of text with
"C" style comments - /* text */. It can be done
easier, but this is an example)
:14,19! sort -r +3
(sort the table in reverse order by fourth column)
j. file manipulation from the command line:
:r somefile - read in "somefile"
:x - save and exit (if file is "Read Only", this command will
exit without saving)
:wq - write and quit (same as above)
:w - write (save) if the file permissions allow it
:w! - save file even if it is read-only as long as we own it
:w somefile - save this file as "somefile"
:q - quit without saving
:q! - quit without saving if changes were made
k. text input commands (all require "Esc" to terminate):
i - insert text before the character cursor is on
I - insert text at the beginning of the line
a - append (insert text after the character cursor is on)
A - append text to the end of the line
c - change (replace previous text with new one)
takes arguments just like the delete command - it is
a fast and powerful way of changing original text -
much more so than typical "overwrite"

R - start overwriting text
o - start entering text at the beginning of the new line
below the cursor
O - start entering text at the beginning of the new line
above the cursor
l. if in doubt, press "Esc"


/* The article above and any accompanying files are freely
* distributable, but please leave this notice and the text intact.
* Home for this document: http://www.infobound.com/vi.html
* Copyright (C) 1994, 1999 Tony Thomas
* Contact author through email:
tony@infobound.com
* Last revision Feb 23, 1999
* UNIX is a trademark of X/Open
*/

rate this article:
current rating: average rating: 1.2 (26 votes) (1=very good 6=terrible)
Your rating:
Very good (1) Good (2) ok (3) average (4) bad (5) terrible (6)

back



Support us on Content Nation

New Packages

- as rdf newsfeed
- as rss newsfeed
- as Atom newsfeed
2026-04-25
deluge - 2.1.1-r8
Ebuild name:

net-p2p/deluge-2.1.1-r8

Description

BitTorrent client with a client/server model

Added to portage

2026-04-25

deluge - 2.1.1-r9
Ebuild name:

net-p2p/deluge-2.1.1-r9

Description

BitTorrent client with a client/server model

Added to portage

2026-04-25

deluge - 2.2.0-r1
Ebuild name:

net-p2p/deluge-2.2.0-r1

Description

BitTorrent client with a client/server model

Added to portage

2026-04-25

highway - 1.4.0
Ebuild name:

dev-cpp/highway-1.4.0

Description

Performance-portable, length-agnostic SIMD with runtime dispatch

Added to portage

2026-04-25

mcrypt - 2.6.8-r3
Ebuild name:

app-crypt/mcrypt-2.6.8-r3

Description

Replacement of the old unix crypt(1)

Added to portage

2026-04-25

md5deep - 4.4
Ebuild name:

app-crypt/md5deep-4.4

Description

Expanded md5sum program with recursive and comparison options

Added to portage

2026-04-25

2026-04-24
awscli - 1.44.85
Ebuild name:

app-admin/awscli-1.44.85

Description

Universal Command Line Environment for AWS

Added to portage

2026-04-24

boto3 - 1.42.95
Ebuild name:

dev-python/boto3-1.42.95

Description

The AWS SDK for Python

Added to portage

2026-04-24

botocore - 1.42.95
Ebuild name:

dev-python/botocore-1.42.95

Description

Low-level, data-driven core of boto 3

Added to portage

2026-04-24

bubblewrap - 0.11.2
Ebuild name:

sys-apps/bubblewrap-0.11.2

Description

Unprivileged sandboxing tool, namespaces-powered chroot-like solution

Added to portage

2026-04-24

ca-certificates - 20250419.3.112-r1
Ebuild name:

app-misc/ca-certificates-20250419.3.112-r1

Description

Common CA Certificates PEM files

Added to portage

2026-04-24

ca-certificates - 20260223.3.112.4
Ebuild name:

app-misc/ca-certificates-20260223.3.112.4

Description

Common CA Certificates PEM files

Added to portage

2026-04-24

chrome-binary-plugins - 147.0.7727.116
Ebuild name:

www-plugins/chrome-binary-plugins-147.0.7727.116

Description

Binary plugins from Google Chrome for use in Chrom

Added to portage

2026-04-24

chrome-binary-plugins - 148.0.7778.56_beta
Ebuild name:

www-plugins/chrome-binary-plugins-148.0.7778.56_beta

Description

Binary plugins from Google Chrome for use in C

Added to portage

2026-04-24

chromedriver-bin - 147.0.7727.116
Ebuild name:

www-apps/chromedriver-bin-147.0.7727.116

Description

WebDriver for Chrome

Added to portage

2026-04-24

claude-code - 2.1.118
Ebuild name:

dev-util/claude-code-2.1.118

Description

Claude Code - an agentic coding tool by Anthropic

Added to portage

2026-04-24

discord - 0.0.134
Ebuild name:

net-im/discord-0.0.134

Description

All-in-one voice and text chat for gamers

Added to portage

2026-04-24

expat - 2.8.0
Ebuild name:

dev-libs/expat-2.8.0

Description

Stream-oriented XML parser library

Added to portage

2026-04-24

fluidsynth - 2.5.2-r1
Ebuild name:

media-sound/fluidsynth-2.5.2-r1

Description

Software real-time synthesizer based on the Soundfont 2 specificati

Added to portage

2026-04-24

fwupd - 2.1.2
Ebuild name:

sys-apps/fwupd-2.1.2

Description

Aims to make updating firmware on Linux automatic, safe and reliable

Added to portage

2026-04-24

gcc - 13.4.1_p20260422
Ebuild name:

sys-devel/gcc-13.4.1_p20260422

Description

The GNU Compiler Collection

Added to portage

2026-04-24

gcc - 14.3.1_p20260423
Ebuild name:

sys-devel/gcc-14.3.1_p20260423

Description

The GNU Compiler Collection

Added to portage

2026-04-24

gcc - 16.0.1_p20260424
Ebuild name:

sys-devel/gcc-16.0.1_p20260424

Description

The GNU Compiler Collection

Added to portage

2026-04-24

gentoo-sources - 6.12.83
Ebuild name:

sys-kernel/gentoo-sources-6.12.83

Description

Full sources including the Gentoo patchset for the . kernel tree

Added to portage

2026-04-24

gentoo-sources - 7.0.1
Ebuild name:

sys-kernel/gentoo-sources-7.0.1

Description

Full sources including the Gentoo patchset for the . kernel tree

Added to portage

2026-04-24

gnupg - 2.5.19
Ebuild name:

app-crypt/gnupg-2.5.19

Description

The GNU Privacy Guard, a GPL OpenPGP implementation

Added to portage

2026-04-24

google-chrome - 147.0.7727.116
Ebuild name:

www-client/google-chrome-147.0.7727.116

Description

The web browser from Google

Added to portage

2026-04-24

google-chrome-beta - 148.0.7778.56
Ebuild name:

www-client/google-chrome-beta-148.0.7778.56

Description

The web browser from Google

Added to portage

2026-04-24

groonga - 16.0.0-r2
Ebuild name:

app-text/groonga-16.0.0-r2

Description

An Embeddable Fulltext Search Engine

Added to portage

2026-04-24

groonga - 16.0.1
Ebuild name:

app-text/groonga-16.0.1

Description

Embeddable Fulltext Search Engine

Added to portage

2026-04-24

haproxy - 2.8.21
Ebuild name:

net-proxy/haproxy-2.8.21

Description

A TCP/HTTP reverse proxy for high availability environments

Added to portage

2026-04-24

haproxy - 3.0.20
Ebuild name:

net-proxy/haproxy-3.0.20

Description

A TCP/HTTP reverse proxy for high availability environments

Added to portage

2026-04-24

haproxy - 3.2.16
Ebuild name:

net-proxy/haproxy-3.2.16

Description

A TCP/HTTP reverse proxy for high availability environments

Added to portage

2026-04-24

haproxy - 3.3.7
Ebuild name:

net-proxy/haproxy-3.3.7

Description

A TCP/HTTP reverse proxy for high availability environments

Added to portage

2026-04-24

hcloud - 2.18.0
Ebuild name:

dev-python/hcloud-2.18.0

Description

Official Hetzner Cloud python library

Added to portage

2026-04-24

inline-snapshot - 0.32.7
Ebuild name:

dev-python/inline-snapshot-0.32.7

Description

Create and update inline snapshots in your Python tests

Added to portage

2026-04-24

kmscon - 9.3.4
Ebuild name:

sys-apps/kmscon-9.3.4

Description

KMS/DRM based virtual Console Emulator

Added to portage

2026-04-24

kmscon - 9.3.5
Ebuild name:

sys-apps/kmscon-9.3.5

Description

KMS/DRM based virtual Console Emulator

Added to portage

2026-04-24

libXpm - 3.5.19
Ebuild name:

x11-libs/libXpm-3.5.19

Description

X.Org Xpm library

Added to portage

2026-04-24

libtsm - 4.5.0
Ebuild name:

dev-libs/libtsm-4.5.0

Description

Terminal Emulator State Machine

Added to portage

2026-04-24

mattermost-desktop-bin - 6.2.0_rc2
Ebuild name:

net-im/mattermost-desktop-bin-6.2.0_rc2

Description

Mattermost Desktop application

Added to portage

2026-04-24

microsoft-edge-beta - 148.0.3967.20
Ebuild name:

www-client/microsoft-edge-beta-148.0.3967.20

Description

The web browser from Microsoft

Added to portage

2026-04-24

microsoft-edge-dev - 149.0.3984.0
Ebuild name:

www-client/microsoft-edge-dev-149.0.3984.0

Description

The web browser from Microsoft

Added to portage

2026-04-24

mss - 10.2.0
Ebuild name:

dev-python/mss-10.2.0

Description

An ultra fast cross-platform multiple screenshots module in python using ctyp

Added to portage

2026-04-24

openblas - 0.3.33
Ebuild name:

sci-libs/openblas-0.3.33

Description

Optimized BLAS library based on GotoBLAS2

Added to portage

2026-04-24

opera - 130.0.5847.82
Ebuild name:

www-client/opera-130.0.5847.82

Description

A fast and secure web browser

Added to portage

2026-04-24

opera-developer - 131.0.5877.0
Ebuild name:

www-client/opera-developer-131.0.5877.0

Description

A fast and secure web browser

Added to portage

2026-04-24

patch-ng - 1.19.1
Ebuild name:

dev-python/patch-ng-1.19.1

Description

Library to parse and apply unified diffs, fork of dev-python/patch

Added to portage

2026-04-24

peewee - 4.0.5
Ebuild name:

dev-python/peewee-4.0.5

Description

Small Python ORM

Added to portage

2026-04-24

pixi - 0.67.2
Ebuild name:

dev-util/pixi-0.67.2

Description

A package management and workflow tool

Added to portage

2026-04-24

pysnmp - 7.1.25
Ebuild name:

dev-python/pysnmp-7.1.25

Description

Python SNMP library

Added to portage

2026-04-24

samba - 4.23.7
Ebuild name:

net-fs/samba-4.23.7

Description

Samba Suite Version 4

Added to portage

2026-04-24

stripe - 15.1.0
Ebuild name:

dev-python/stripe-15.1.0

Description

Stripe Python bindings

Added to portage

2026-04-24

subtitleeditor - 0.56.2
Ebuild name:

media-video/subtitleeditor-0.56.2

Description

GTK+3 subtitle editing tool

Added to portage

2026-04-24

thunderbird - 140.10.0
Ebuild name:

mail-client/thunderbird-140.10.0

Description

Thunderbird Mail Client

Added to portage

2026-04-24

thunderbird-bin - 140.10.0
Ebuild name:

mail-client/thunderbird-bin-140.10.0

Description

Thunderbird Mail Client

Added to portage

2026-04-24

timezone-data - 2026b
Ebuild name:

sys-libs/timezone-data-2026b

Description

Timezone data (/usr/share/zoneinfo) and utilities (tzselect/zic/zdump)

Added to portage

2026-04-24

translate-toolkit - 3.19.6
Ebuild name:

dev-python/translate-toolkit-3.19.6

Description

Toolkit to convert between many translation formats

Added to portage

2026-04-24

trimesh - 4.12.0
Ebuild name:

dev-python/trimesh-4.12.0

Description

Python library for loading and using triangular meshes

Added to portage

2026-04-24

uvicorn - 0.46.0
Ebuild name:

dev-python/uvicorn-0.46.0

Description

Lightning-fast ASGI server implementation

Added to portage

2026-04-24

vagrant - 2.4.0-r2
Ebuild name:

app-emulation/vagrant-2.4.0-r2

Description

A tool for building and distributing development environments

Added to portage

2026-04-24

vagrant - 2.4.1-r1
Ebuild name:

app-emulation/vagrant-2.4.1-r1

Description

A tool for building and distributing development environments

Added to portage

2026-04-24

vagrant - 2.4.9-r1
Ebuild name:

app-emulation/vagrant-2.4.9-r1

Description

A tool for building and distributing development environments

Added to portage

2026-04-24

vanilla-sources - 6.12.83
Ebuild name:

sys-kernel/vanilla-sources-6.12.83

Description

Full sources for the Linux kernel

Added to portage

2026-04-24

vanilla-sources - 6.18.24
Ebuild name:

sys-kernel/vanilla-sources-6.18.24

Description

Full sources for the Linux kernel

Added to portage

2026-04-24

vanilla-sources - 6.19.14
Ebuild name:

sys-kernel/vanilla-sources-6.19.14

Description

Full sources for the Linux kernel

Added to portage

2026-04-24

vanilla-sources - 7.0.1
Ebuild name:

sys-kernel/vanilla-sources-7.0.1

Description

Full sources for the Linux kernel

Added to portage

2026-04-24

vivaldi - 7.9.3970.59
Ebuild name:

www-client/vivaldi-7.9.3970.59

Description

A browser for our friends

Added to portage

2026-04-24

vivaldi-snapshot - 7.10.4015.3
Ebuild name:

www-client/vivaldi-snapshot-7.10.4015.3

Description

A browser for our friends

Added to portage

2026-04-24

vte - 0.82.3
Ebuild name:

gui-libs/vte-0.82.3

Description

Library providing a virtual terminal emulator widget

Added to portage

2026-04-24

vte - 0.82.3
Ebuild name:

x11-libs/vte-0.82.3

Description

Library providing a virtual terminal emulator widget

Added to portage

2026-04-24

vte-common - 0.82.3
Ebuild name:

gui-libs/vte-common-0.82.3

Description

Library providing a virtual terminal emulator widget

Added to portage

2026-04-24

rdf newsfeed | rss newsfeed | Atom newsfeed
Copyright 2004-2025 Sascha Nitsch Unternehmensberatung GmbH
- Copyright and legal notices -
Time to create this page: 71.5 ms